CommencezCommencez gratuitement

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

Voir le cours

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 variable hits.
  • Utilisez de nouveau emails[hits] pour extraire les éléments du vecteur emails.

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
Modifier et exécuter le code