När du inte vet vad du letar efter
Hittills har du använt str_detect(), som returnerar TRUE om mönstret matchar och FALSE annars. Men reguljära uttryck är också utmärkta för att extrahera det sökta uttrycket ur en större textmängd. För det kan du använda funktionen str_match().
Nästa specialtecken du får lära känna är punkten: ".". Punkten matchar vilket tecken som helst – den fungerar som ett jokertecken. Om du till exempel söker efter "..." hittar du tre tecken, oavsett om det är bokstäver, siffror eller till och med mellanslag.
Detta är mycket praktiskt, förutom när du behöver söka efter en faktisk punkt ".". I så fall escapa punkten med två bakstreck: "\\."
Den här övningen är en del av kursen
Reguljära uttryck på mellannivå i R
Övningsinstruktioner
- Matcha inte bara
Saw 4utan även de övriga uppföljarna. - Matcha de fyra första tecknen i alla filmtitlar som börjar med
"K". - Identifiera den film som slutar med en faktisk punkt
".".
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# Here's an example pattern that will find the movie Saw 4
str_match(movie_titles, pattern = "Saw 4")
# Match all sequels of the movie "Saw"
str_match(movie_titles, pattern = "___")
# Match the letter K and three arbitrary characters
str_match(movie_titles, pattern = "^K___")
# Detect whether the movie titles end with a full stop
str_detect(movie_titles, pattern = "___$")