Sök och ersätt
Funktionen str_replace() är en generell funktion för att ersätta delar av en sträng. Ett vanligt användningsfall är att ersätta något med en tom sträng – ett enkelt sätt att ta bort oönskade delar från en sträng.
Med infångningsgrupper blir str_replace() ännu mer kraftfull: de låter dig ändra ordningen på element. Genom att lägga till så kallade "bakåtreferenser" i ersättningssträngen kommer str_replace() att ersätta dessa referenser med innehållet i motsvarande infångningsgrupp. Till exempel: om du skriver \\1 ersätts det med den 1:a infångningsgruppen.
I den här övningen ser du båda användningsfallen sida vid sida – att ta bort en delsträng och att ändra ordning på två delar av en sträng. I omgivningen hittar du variabeln top_10_lines från föregående övning.
Den här övningen är en del av kursen
Reguljära uttryck på mellannivå i R
Övningsinstruktioner
- Ta bort
3Dfrån slutet av varje rad itop_10_linesgenom att ersätta det med en tom sträng. - Bygg en ny mening med hjälp av de två infångningsgrupperna. Ändra ordningen så att resultatet blir exempelvis
"Karate Kid is on rank 1".
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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 ___"
)