grepl et grep (2)
Vous pouvez utiliser le chapeau (^) et le signe de dollar ($) pour faire correspondre le contenu situé respectivement au début et à la fin d'une chaîne. Cela nous rapproche d'un motif correct pour ne sélectionner que les adresses « .edu » dans notre liste de courriels. Mais on peut en ajouter davantage pour rendre le motif plus robuste :
@, car une adresse valide doit contenir un arobas..*, qui correspond à n'importe quel caractère (.) répété zéro fois ou plus (*). Le point et l'astérisque sont des métacaractères. Vous pouvez les utiliser pour faire correspondre tout caractère entre l'arobas et la partie « .edu » d'une adresse.\\.edu$, pour faire correspondre la partie « .edu » de l'adresse à la fin de la chaîne. La partie\\échappe le point : elle indique à R que vous voulez utiliser.comme un caractère ordinaire.
Cette activité fait partie du cours
R intermédiaire
Instructions de l’exercice
- Utilisez
grepl()avec l'expression régulière plus avancée pour retourner un vecteur logique. Affichez simplement le résultat. - Faites de même avec
grep()pour créer un vecteur d'indices. Stockez le résultat dans la variablehits. - Utilisez de nouveau
emails[hits]pour extraire les éléments du vecteuremails.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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