sub & gsub
Mentre grep() e grepl() servivano semplicemente a verificare se un'espressione regolare trovava corrispondenza in un vettore di caratteri, sub() e gsub() fanno un passo in più: puoi specificare un argomento replacement. Se all'interno del vettore di caratteri x viene trovata l'espressione regolare pattern, gli elementi corrispondenti verranno sostituiti con replacement. sub() sostituisce solo la prima corrispondenza, mentre gsub() sostituisce tutte le corrispondenze.
Immagina che il vettore emails con cui hai lavorato sia un estratto del database email di DataCamp. Perché non offrire ai titolari di indirizzi .edu un nuovo indirizzo nel dominio datacamp.edu? Potrebbe essere un’ottima mossa di marketing: l’istruzione online sta superando le istituzioni tradizionali! Converti la tua email ed entra a far parte della nuova generazione!
Questo esercizio fa parte del corso
R intermedio
Istruzioni dell'esercizio
Con l’espressione regolare avanzata "@.*\\.edu$", usa sub() per sostituire la corrispondenza con "@datacamp.edu". Dato che ci sarà una sola corrispondenza per stringa, qui gsub() non è necessario. Esamina l’output risultante.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# The emails vector has already been defined for you
emails <- c("[email protected]", "[email protected]", "[email protected]",
"invalid.edu", "[email protected]", "[email protected]")
# Use sub() to convert the email domains to datacamp.edu