CommencerCommencer gratuitement

grepl & grep (2)

Vous pouvez utiliser l’accent circonflexe, ^, et le signe du dollar, $, pour faire correspondre le contenu situé au début et à la fin d'une chaîne, respectivement. Cela pourrait nous rapprocher d'un modèle correct permettant de faire correspondre uniquement les adresses électroniques ".edu" de notre liste d'adresses électroniques. Mais d'autres éléments peuvent être ajoutés pour rendre le modèle plus robuste :

  • @car un courrier électronique valide doit contenir un signe "arobase".
  • .*qui correspond à n'importe quel caractère (.) zéro fois ou plus (*). Le point et l'astérisque sont des métacaractères. Vous pouvez les utiliser pour faire correspondre n'importe quel caractère entre le signe "at" et la partie ".edu" d'une adresse électronique.
  • \\.edu$pour faire correspondre la partie ".edu" de l'email à la fin de la chaîne. La partie \\ échappe au point : elle indique à R que vous voulez utiliser le . comme un caractère réel.

Cet exercice fait partie du cours

Intermédiaire R

Afficher le cours

Instructions

  • Utilisez grepl() avec l'expression régulière plus avancée pour renvoyer un vecteur logique. Il suffit d'imprimer le résultat.
  • Faites la même chose avec grep() pour créer un vecteur d'indices. Enregistrez le résultat dans la variable hits.
  • Utilisez à nouveau emails[hits] pour subdiviser le 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