grepl & grep

In ihrer einfachsten Form können reguläre Ausdrücke verwendet werden, um festzustellen, ob ein Muster in einer Zeichenkette oder einem Vektor aus Zeichenketten existiert. Zu diesem Zweck stehen zwei Funktionen zur Wahl:

  • grepl(): Gibt TRUE zurück, wenn ein Muster in der entsprechenden Zeichenkette gefunden wird.
  • grep(): Gibt einen Vektor mit Indizes der Zeichenketten zurück, die das Muster enthalten.

Beide Funktionen benötigen ein Muster (pattern) und ein Argument x, wobei das Muster der reguläre Ausdruck ist, nach dem du suchen willst, und x der Zeichenvektor, in dem nach Übereinstimmungen gesucht werden soll.

In dieser und den folgenden Übungen wirst du einen Zeichenvektor mit E-Mail-Adressen abfragen und manipulieren. Der Vektor emails ist vordefiniert, sodass du sofort mit der Aufgabe beginnen kannst!

Diese Übung ist Teil des Kurses

R für Fortgeschrittene

Kurs anzeigen

Anleitung zur Übung

  • Nutze grepl(), um einen Vektor mit logischen Werten zu erzeugen, der angibt, ob diese E-Mail-Adressen "edu" enthalten. Gib das Ergebnis aus.
  • Tu nun dasselbe mit grep(), aber diesmal speicherst du die resultierenden Indizes in der Variable hits.
  • Nutze die Variable hits, um aus dem Vektor emails nur die E-Mails auszuwählen, die "edu" enthalten.

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("john.doe@ivyleague.edu", "education@world.gov", "dalai.lama@peace.org",
            "invalid.edu", "quant@bigdatacollege.edu", "cookie.monster@sesame.tv")

# Use grepl() to match for "edu"


# Use grep() to match for "edu", save result to hits


# Subset emails using hits