Když nevíš, co přesně hledáš
Zatím jsi používal/a str_detect(), která vrátí TRUE, pokud vzor odpovídá, a FALSE, pokud ne. Regulární výrazy ale umí i víc – dokážou hledaný výraz přímo extrahovat z delšího textu. K tomu slouží funkce str_match().
Další speciální znak, který teď poznáš, je tečka: ".". Tečka odpovídá libovolnému znaku – funguje jako zástupný symbol. Když tedy hledáš například "...", najdeš libovolné tři znaky – ať už jde o písmena, čísla, nebo mezery.
To je velmi praktické, ledaže potřebuješ hledat skutečnou tečku ".". V takovém případě ji escapuj dvěma zpětnými lomítky: "\\."
Toto cvičení je součástí kurzu
Intermediate Regular Expressions in R
Pokyny k cvičení
- Najdi nejen film
Saw 4, ale i ostatní díly série. - Vyextrahuj první čtyři znaky ze všech názvů filmů, které začínají písmenem
"K". - Najdi film, jehož název končí skutečnou tečkou
".".
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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 = "___$")