Aan de slagGa gratis aan de slag

sub & gsub

Waar grep() en grepl() alleen controleerden of een reguliere expressie overeenkwam met een tekenvector, gaan sub() en gsub() een stap verder: je kunt een replacement-argument opgeven. Als in de tekenvector x het patroon pattern wordt gevonden, worden de overeenkomende element(en) vervangen door replacement. sub() vervangt alleen de eerste match, terwijl gsub() alle matches vervangt.

Stel dat de emails-vector waar je mee werkte een fragment is uit DataCamp's e-maildatabase. Waarom bieden we de eigenaren van .edu-e-mailadressen geen nieuw adres aan op het datacamp.edu-domein? Dat kan een krachtige marketingactie zijn: online onderwijs neemt traditionele onderwijsinstellingen over! Zet je e-mail om en word onderdeel van de nieuwe generatie!

Deze oefening maakt deel uit van de cursus

R voor gevorderden

Cursus bekijken

Oefeninstructies

Gebruik met de geavanceerde reguliere expressie "@.*\\.edu$" sub() om de match te vervangen door "@datacamp.edu". Omdat er per tekenreeks maar één match is, is gsub() hier niet nodig. Bekijk de uitvoer.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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
Code bewerken en uitvoeren