Hledání a nahrazování
Funkce str_replace() slouží k obecnému nahrazování částí řetězce. Běžným použitím je nahrazení prázdným řetězcem – což je jednoduchý způsob, jak z řetězce odstranit nepotřebné části.
Se zachytávacími skupinami se str_replace() stává ještě zajímavější: umožňují totiž měnit pořadí jednotlivých částí. Přidáním tzv. "zpětných odkazů" do nahrazovaného výrazu str_replace() tyto odkazy nahradí obsahem příslušné zachytávací skupiny. Například: pokud napíšeš \\1, bude to nahrazeno obsahem 1. zachytávací skupiny.
V tomto cvičení uvidíš obě použití zároveň – odstranění podřetězce i přeuspořádání dvou částí řetězce. V prostředí cvičení najdeš proměnnou top_10_lines z předchozího cvičení.
Toto cvičení je součástí kurzu
Intermediate Regular Expressions in R
Pokyny k cvičení
- Odstraň
3Dz konce každého řádku vtop_10_linestak, že ho nahradíš prázdným řetězcem. - Sestav novou větu ze dvou zachytávacích skupin. Přeuspořádej je tak, aby výsledek vypadal například jako
"Karate Kid is on rank 1".
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# Remove a space followed by "3D" at the end of the line
str_replace(
top_10_lines,
pattern = "___",
replacement = ___
)
# Use backreferences 2 and 1 to create a new sentence
str_replace(
top_10_lines,
pattern = "(\\d+)\\. (.*)",
replacement = "___ is at rank ___"
)