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()
: GibtTRUE
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
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 Variablehits
. - Nutze die Variable
hits
, um aus dem Vektoremails
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