始める無料で始める

検索と置換

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 ___"
)
コードを編集して実行