Aan de slagGa gratis aan de slag

grepl & grep (2)

Je kunt het dakje ^ en het dollarteken $ gebruiken om respectievelijk het begin en het einde van een string te matchen. Dat brengt ons een stap dichter bij een goed patroon om alleen de ".edu"-e-mailadressen uit onze lijst te matchen. Maar er is meer dat we kunnen toevoegen om het patroon robuuster te maken:

  • @, omdat een geldig e-mailadres een apenstaartje moet bevatten.
  • .*, dat elk teken (.) nul of meer keer (*) matcht. Zowel de punt als het sterretje zijn metatekens. Je kunt ze gebruiken om om het even welk teken te matchen tussen het apenstaartje en het ".edu"-gedeelte van een e-mailadres.
  • \\.edu$, om het ".edu"-gedeelte van het e-mailadres aan het einde van de string te matchen. Het gedeelte \\ "escapet" de punt: het vertelt R dat je de . als letterlijk teken wilt gebruiken.

Deze oefening maakt deel uit van de cursus

R voor gevorderden

Cursus bekijken

Oefeninstructies

  • Gebruik grepl() met de meer geavanceerde reguliere expressie om een logische vector terug te geven. Print het resultaat.
  • Doe iets gelijkaardigs met grep() om een vector met indexen te maken. Sla het resultaat op in de variabele hits.
  • Gebruik opnieuw emails[hits] om de emails-vector te subsetten.

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 grepl() to match for .edu addresses more robustly


# Use grep() to match for .edu addresses more robustly, save result to hits


# Subset emails using hits
Code bewerken en uitvoeren