CommencerCommencer gratuitement

grepl & grep (2)

Vous pouvez utiliser l’accent circonflexe ^ et le symbole dollar $ pour faire correspondre respectivement le début et la fin d’une chaîne. Cela nous rapproche d’un motif correct pour sélectionner uniquement les adresses e‑mail en « .edu » dans notre liste. Mais on peut rendre le motif encore plus robuste :

  • @, car une adresse e‑mail valide doit contenir un arobase.
  • .*, qui correspond à n’importe quel caractère (.) zéro ou plusieurs fois (*). Le point et l’astérisque sont des métacaractères. Vous pouvez les utiliser pour faire correspondre n’importe quelle suite de caractères entre l’arobase et la partie « .edu » de l’adresse e‑mail.
  • \\.edu$, pour faire correspondre la partie « .edu » de l’adresse en fin de chaîne. La séquence \\ échappe le point : elle indique à R que vous souhaitez utiliser . comme un caractère littéral.

Cet exercice fait partie du cours

R niveau intermédiaire

Afficher le cours

Instructions

  • Utilisez grepl() avec l’expression régulière plus avancée pour renvoyer 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 cet exemple de code.

# 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