sub & gsub
Funkcje grep() i grepl() służyły wyłącznie do sprawdzania, czy wyrażenie regularne pasuje do wektora znakowego. Funkcje sub() i gsub() idą o krok dalej: pozwalają podać argument replacement. Jeśli w wektorze znakowym x zostanie znalezione wyrażenie regularne pattern, pasujące elementy zostaną zastąpione wartością replacement. sub() zastępuje tylko pierwsze dopasowanie, natomiast gsub() zastępuje wszystkie dopasowania.
Załóżmy, że wektor emails, na którym do tej pory pracujesz, to fragment bazy e-mail DataCamp. Co powiesz na zaproponowanie właścicielom adresów .edu nowego adresu w domenie datacamp.edu? To całkiem chwytliwy pomysł marketingowy: edukacja online przejmuje pałeczkę od tradycyjnych uczelni! Przekształć swój adres e-mail i dołącz do nowej generacji!
To ćwiczenie jest częścią kursu
Intermediate R
Instrukcje do ćwiczenia
Używając zaawansowanego wyrażenia regularnego "@.*\\.edu$", wywołaj funkcję sub(), aby zastąpić dopasowanie ciągiem "@datacamp.edu". Ponieważ w każdym ciągu znakowym wystąpi co najwyżej jedno dopasowanie, użycie gsub() nie jest tu konieczne. Sprawdź, jak wygląda wynikowy rezultat.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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