Wyszukiwanie i zamiana
Funkcja str_replace() służy do ogólnego zastępowania fragmentów ciągu znaków. Jednym z częstych zastosowań jest zastąpienie czegoś pustym ciągiem – to prosty sposób na usunięcie niepotrzebnych fragmentów tekstu.
W połączeniu z grupami przechwytującymi str_replace() staje się jeszcze bardziej użyteczna: pozwala zmieniać kolejność elementów. Wystarczy dodać do wzorca zamiany tzw. odwołania wsteczne, a str_replace() zastąpi je zawartością odpowiedniej grupy przechwytującej. Na przykład: \\1 zostanie zastąpione zawartością pierwszej grupy przechwytującej.
W tym ćwiczeniu zobaczysz oba zastosowania jednocześnie: usuwanie podciągu oraz zmianę kolejności dwóch fragmentów tekstu. W środowisku masz dostęp do zmiennej top_10_lines z poprzedniego ćwiczenia.
To ćwiczenie jest częścią kursu
Wyrażenia regularne w R – poziom średnio zaawansowany
Instrukcje do ćwiczenia
- Usuń
3Dz końca każdego wiersza wtop_10_lines, zastępując ten fragment pustym ciągiem znaków. - Utwórz nowe zdanie z dwóch grup przechwytujących. Zmień ich kolejność tak, aby wynik brzmiał np.
"Karate Kid is on rank 1".
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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 ___"
)