sub & gsub
Während grep()
und grepl()
genutzt wurden, um nur zu prüfen, ob ein regulärer Ausdruck mit einem Zeichenvektor übereinstimmt, gehen sub()
und gsub()
einen Schritt weiter, denn hier kannst du über das replacement
-Argument angeben, womit das gefundene Muster ersetzt werden soll. Wenn also innerhalb des Zeichenvektors x
der reguläre Ausdruck pattern
gefunden wird, werden die übereinstimmenden Elemente durch replacement
ersetzt. sub()
ersetzt nur die erste Übereinstimmung, wohingegen gsub()
alle Übereinstimmungen ersetzt.
Angenommen, der Vektor emails
, mit dem du gearbeitet hast, ist ein Auszug aus der E-Mail-Datenbank von DataCamp. Und nun wollen wir den Besitzern der .edu-Adressen eine neue E-Mail-Adresse mit der Domain datacamp.edu anbieten. Das könnte eine ziemlich wirkungsvolle Marketingidee sein: Eine Bildungsplattform im Internet erobert die traditionellen Bildungseinrichtungen! Konvertiere deine E-Mail-Adresse und werde Teil dieser neuen Generation!
Diese Übung ist Teil des Kurses
R für Fortgeschrittene
Anleitung zur Übung
Nutze sub()
mit dem komplexen regulären Ausdruck "@.*\\.edu$"
, um die gefundene Übereinstimmung durch "@datacamp.edu"
zu ersetzen. Da es nur eine Übereinstimmung pro Zeichenkette gibt, ist gsub()
hier nicht notwendig. Überprüfe die resultierende Ausgabe.
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 sub() to convert the email domains to datacamp.edu