Erste SchritteKostenlos loslegen

grepl & grep (2)

Du kannst das Caret-Zeichen (^) und das Dollar-Zeichen ($) verwenden, um den Inhalt am Anfang bzw. Ende einer Zeichenkette abzugleichen. Das könnte uns einen Schritt näher an ein korrektes Muster bringen, mit dem wir nur die auf .edu endenden E-Mail-Adressen in unserer E-Mail-Liste finden. Es gibt aber noch mehr, was man hinzufügen kann, um das Muster zu verbessern:

  • @: Eine gültige E-Mail-Adresse muss dieses Zeichen enthalten.
  • .*: Gleicht jedes Zeichen (.) null Mal oder häufiger (*) ab. Sowohl der Punkt als auch das Sternchen sind Metazeichen. Du kannst sie verwenden, um beliebige Zeichen zwischen dem @-Zeichen und dem .edu-Teil einer E-Mail-Adresse abzugleichen.
  • \\.edu$: Damit wird am Ende der Zeichenkette nach dem .edu-Teil der E-Mail-Adresse gesucht. Der \\-Teil maskiert den Punkt: So weiß R, dass du . als tatsächliches Zeichen verwenden willst.

Diese Übung ist Teil des Kurses

R für Fortgeschrittene

Kurs anzeigen

Anleitung zur Übung

  • Nutze grepl() mit dem komplexeren regulären Ausdruck, um einen logischen Vektor zurückzugeben. Gib das Ergebnis einfach aus.
  • Tu nun Ähnliches mit grep(), um einen Vektor mit Indizes zu erstellen. Speichere das Ergebnis in der Variable hits.
  • Verwende erneut emails[hits], um eine Teilmenge des Vektors emails zu erstellen.

Interaktive Übung zum Anfassen

Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.

# 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
Bearbeiten und Ausführen von Code