sub & gsub (2)
Reguliere expressies leer je vooral door te doen en door voorbeelden te bekijken. Voordat je je hoofd breekt over de reguliere expressie in deze oefening, kijk eerst even naar de nieuwe elementen die gebruikt worden:
.*: Een usual suspect! Dit kun je lezen als: "elk teken, nul of meer keer gematcht".\\s: Matcht een spatie. De "s" is normaal een teken; door te escapen (\\) wordt het een metategen.[0-9]+: Matcht de cijfers 0 tot en met 9, minstens één keer (+).([0-9]+): De ronde haken zorgen ervoor dat delen van de match beschikbaar komen voor de vervanging. De\\1in hetreplacement-argument vansub()) wordt gezet op de string die is vastgelegd door de reguliere expressie[0-9]+.
awards <- c("Won 1 Oscar.",
"Won 1 Oscar. Another 9 wins & 24 nominations.",
"1 win and 2 nominations.",
"2 wins & 3 nominations.",
"Nominated for 2 Golden Globes. 1 more win & 2 nominations.",
"4 wins & 1 nomination.")
sub(".*\\s([0-9]+)\\snomination.*$", "\\1", awards)
Wat geeft dit codeblok terug? awards is al gedefinieerd in de workspace, dus je kunt meteen in de console aan de slag.
Deze oefening maakt deel uit van de cursus
R voor gevorderden
Interactieve oefening met praktijkervaring
Zet theorie om in actie met een van onze interactieve oefeningen
Begin oefening