sub e gsub
Enquanto grep()
e grepl()
eram usados para simplesmente verificar se uma expressão regular poderia ser combinada com um vetor de caracteres, sub()
e gsub()
levam isso um passo adiante: você pode especificar um argumento replacement
. Se dentro do vetor de caracteres x
, a expressão regular pattern
for encontrada, o(s) elemento(s) correspondente(s) será(ão) substituído(s) por replacement
. sub()
substitui apenas a primeira correspondência, enquanto gsub()
substitui todas as correspondências.
Suponha que o vetor emails
com o qual você está trabalhando seja um trecho do banco de dados de e-mail do DataCamp. Por que você não oferece aos proprietários dos endereços de e-mail .edu um novo endereço de e-mail no domínio datacamp.edu? Isso pode ser um golpe de marketing bastante poderoso: A educação on-line está tomando conta das instituições de ensino tradicionais! Converta seu e-mail e faça parte da nova geração!
Este exercício faz parte do curso
R intermediário
Instruções do exercício
Com a expressão regular avançada "@.*\\.edu$"
, use sub()
para substituir a correspondência por "@datacamp.edu"
. Como haverá apenas uma correspondência por cadeia de caracteres, gsub()
não é necessário aqui. Inspecione a saída resultante.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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