Funzioni di manipolazione delle stringhe
Fa parte della sezione Fondamenti del percorso R di Coddy. Lezione 66 di 78.
Ora che sai come suddividere le stringhe in caratteri, esploriamo alcune funzioni essenziali per lavorare con le stringhe in R. Queste funzioni ti aiutano a misurare, combinare e trasformare i dati testuali.
La funzione nchar() restituisce il numero di caratteri in una stringa:
word <- "hello"
print(nchar(word))Output:
[1] 5Per combinare più stringhe in una, usa paste(). Per impostazione predefinita, separa gli elementi con uno spazio:
result <- paste("Hello", "World")
print(result)Output:
[1] "Hello World"Usa paste0() quando non vuoi alcun separatore tra le stringhe:
result <- paste0("Hello", "World")
print(result)Output:
[1] "HelloWorld"Per convertire le maiuscole e le minuscole, R fornisce toupper() e tolower():
print(toupper("hello"))
print(tolower("WORLD"))Output:
[1] "HELLO"
[1] "world"Queste funzioni diventano potenti quando le combini con le tecniche di iterazione che hai imparato, consentendoti di elaborare e trasformare il testo carattere per carattere o come stringhe intere.
Sfida
FacileRiceverai due righe di input:
- Un nome (ad es.,
john) - Un cognome (ad es.,
SMITH)
Esegui le seguenti operazioni:
- Converti il nome in maiuscolo usando
toupper() - Converti il cognome in minuscolo usando
tolower() - Combinali in un nome completo usando
paste()(con uno spazio in mezzo) - Calcola il numero totale di caratteri nel nome completo (incluso lo spazio) usando
nchar() - Crea un nome utente combinando il nome e il cognome senza separatore usando
paste0(), tutto in minuscolo - Stampa il nome completo
- Stampa il conteggio dei caratteri
- Stampa il nome utente
Ad esempio, se gli input sono:
alice
WONDERL'output dovrebbe essere:
[1] "ALICE wonder"
[1] 12
[1] "alicewonder"Spiegazione: Il nome "alice" diventa "ALICE" (maiuscolo), il cognome "WONDER" diventa "wonder" (minuscolo). Il nome completo "ALICE wonder" ha 12 caratteri (incluso lo spazio). Il nome utente combina entrambi i nomi in minuscolo senza separatore: "alicewonder".
Provalo tu
# Leggi l'input
con <- file("stdin", "r")
first_name <- suppressWarnings(readLines(con, n = 1))
last_name <- suppressWarnings(readLines(con, n = 1))
close(con)
# TODO: Scrivi il tuo codice qui sotto
# 1. Converti first_name in maiuscolo usando toupper()
# 2. Converti last_name in minuscolo usando tolower()
# 3. Combinali in full_name usando paste()
# 4. Calcola il numero di caratteri usando nchar()
# 5. Crea username usando paste0() (tutto in minuscolo)
# Mostra i risultati
print(full_name)
print(char_count)
print(username)Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Fondamenti
4Operatori Parte 2
Operatori logici (AND, OR)Operatori logici Parte 2 (NOT)Ripasso - Logica sempliceLogica vettorializzata Parte 1Logica vettorializzata Parte 27Calcolatore per dividere il conto
Messaggio di benvenutoAcquisire input dell'utente10FizzBuzz con una variante
Panoramica del giocoLa funzione FizzBuzz13Vettori: argomenti avanzati
Slicing e indicizzazione dei vettoriIndicizzazione logicaAritmetica dei vettori e ricicloL’operatore %in%2Variabili e tipi di dati
Tipo di dato numericoTipo di dato interoTipo di dato carattereTipo di dato logicoControllo dei tipi di datoConvenzioni di denominazioneValori mancanti: NARiepilogo - Creazione di variabili8Cicli
Ciclo forCiclo whilebreaknext (continue)Riepilogo - FattorialeGenerazione di sequenze (seq, :)Cicli annidatiRiepilogo - Input dinamico3Operatori Parte 1
Operatori aritmeticiDivisione intera e moduloOperatori di assegnazioneRiepilogo - Matematica sempliceOperatori di confronto6I/O di base
Stampare l'outputcat per l'outputOutput con variabiliLeggere l'input con readline()Nozioni di base sulla conversione dei tipiRiepilogo - Calcolatore dell'etàRiepilogo - Vero o falso9Funzioni
Dichiarare una funzioneArgomenti della funzioneValori di ritornoRiepilogo - Funzione SigmaRiepilogo - Funzione di validazioneValori predefiniti dei parametri12Iterare sulle sequenze
Iterare sugli elementi dei vettoriUsare seq_along()Iterare sui caratteri (strsplitFunzioni di manipolazione delle stringheEsercitati da solo: Compilatore R online