検索と置換
str_replace() は、文字列の一部を置換するための汎用関数です。よくある使い方は、空文字列に置き換えることです。これは不要な部分を取り除く簡単な方法です。
キャプチャグループを使うと、str_replace() はさらに便利になります。いわゆる「後方参照」を置換文字列に加えることで、対応するキャプチャグループの内容で置換できます。たとえば、\\1 と書くと、1番目のキャプチャグループに置き換えられます。
この演習では、1つ目の用途(部分文字列の削除)と2つ目(文字列の2つの部分の並べ替え)を並べて体験します。スコープには前の演習で使った変数 top_10_lines が用意されています。
この演習はコースの一部です
Rで学ぶ中級正規表現
演習の手順
top_10_linesの各行の末尾から3Dを、空文字列に置き換えて削除します。- 2つのキャプチャグループを使って新しい文を作ります。順序を入れ替えて、
"Karate Kid is on rank 1"のような結果になるようにしてください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# 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 ___"
)