[R言語]stringrを使い文字列を正規表現で置換するには?

R言語

どうも、ちょげ(@chogetarou)です。

stringrを使って文字列(string)を正規表現で置換する方法を紹介します。

スポンサーリンク

方法

stringrを使って文字列(string)を正規表現で置換する方法は、2つあります。

str_replace()

ひとつは、str_replace()を使う方法です。

まず、stringrを導入します。

library(stringr)

次に、str_replace()を呼び出します。

str_replace()の第1引数に対象の文字列を指定します。

そして、str_replace()の第2引数に正規表現のパターン、第3引数に置換後の新しい文字を指定します。

#text=対象の文字列, pattern=正規表現のパターン, new=置換後の新しい文字
result <- str_replace(text, pattern, new)

上記のstr_replace()は、文字列(string)の正規表現のパターンに最初にマッチした部分を置換した結果を返します。

使用例

library(stringr)

text <- "H1el5lo,W5o1r0l92d"

result <- str_replace(text, "[0-9]", "#")

cat(result)
出力:
H#el5lo,W5o1r0l92d

str_replace_all()

もうひとつは、str_replace_all()を使う方法です。

まず、stringrを導入します。

library(stringr)

次に、str_replace_all()を呼び出します。

str_replace_all()の第1引数に対象の文字列を指定します。

そして、str_replace_all()の第2引数に正規表現のパターン、第3引数に置換後の新しい文字を指定します。

#text=対象の文字列, pattern=正規表現のパターン, new=置換後の新しい文字
result <- str_replace_all(text, pattern, new)

上記のstr_replace_all()は、文字列(string)の正規表現のパターンにマッチした部分を全て置換した結果を返します。

使用例

library(stringr)

text <- "H1el5lo,W5o1r0l92d"

result <- str_replace_all(text, "[0-9]", "#")

cat(result)
出力:
> cat(result)
H#el#lo,W#o#r#l##d

まとめ

stringrを使って文字列(string)を正規表現で置換する方法は、次の2つです。

  • str_replace()を使う方法
    result <- str_replace(text, pattern, new)
  • str_replace_all()を使う方法
    result <- str_replace_all(text, pattern, new)

コメント

タイトルとURLをコピーしました