grepl & grep (2)
Poți folosi semnul caret, ^, și semnul dolar, $, pentru a identifica conținutul de la începutul, respectiv sfârșitul unui șir de caractere. Acest lucru ne aduce mai aproape de un tipar corect pentru a extrage doar adresele de email cu ".edu" din lista noastră. Există însă și alte elemente pe care le putem adăuga pentru a face tiparul mai robust:
@, deoarece o adresă de email validă trebuie să conțină simbolul @..*, care potrivește orice caracter (.) de zero sau mai multe ori (*). Atât punctul, cât și asteriscul sunt metacaractere. Le poți folosi pentru a potrivi orice caracter dintre simbolul @ și partea ".edu" a adresei de email.\\.edu$, pentru a potrivi partea ".edu" a adresei de email la sfârșitul șirului. Secvența\\escape-ează punctul: îi transmite lui R că vrei să folosești.ca un caracter efectiv.
Acest exercițiu face parte din cursul
R intermediar
Instrucțiuni pentru exercițiu
- Folosește
grepl()cu expresia regulată mai avansată pentru a returna un vector logic. Afișează pur și simplu rezultatul. - Fă ceva similar cu
grep()pentru a crea un vector de indici. Stochează rezultatul în variabilahits. - Folosește din nou
emails[hits]pentru a extrage un subset din vectorulemails.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# The emails vector has already been defined for you
emails <- c("[email protected]", "[email protected]", "[email protected]",
"invalid.edu", "[email protected]", "[email protected]")
# Use grepl() to match for .edu addresses more robustly
# Use grep() to match for .edu addresses more robustly, save result to hits
# Subset emails using hits