R言語で、文字列から一致したパターンを一つだけ削除する方法について解説します。文字列の操作には、tidyverseパッケージに含まれているstringrパッケージを使用するのが便利です。ここでは、stringrパッケージのstr_remove()を使用した方法についてお伝えします。
str_remove()の概要
str_remove()は、文字列から一致したパターンを一つだけ削除するための関数です。
str_remove()の使い方
str_remove(string, pattern)
str_remove()の引数
string
文字ベクトルまたは文字ベクトルに変換可能なものを指定します。
pattern
検索するパターンを指定します。
デフォルトの解釈は、vignette(“regular-expressions”) で説明されている正規表現です。マッチング動作をより細かく制御するには、regex()を使用してください。
fixed()を使用して、固定文字列(つまり、バイト列のみを比較する)に一致させます。これは高速ですが、近似値です。一般的に、人間のテキストに一致させるには、指定されたロケールの文字マッチング規則を尊重するcoll()を使用することをお勧めします。
boundary()を使用して、文字、単語、行、文の境界に一致させます。空のパターン””は、boundary(“character”) と同等です。
str_remove()の戻り値
string/patternと同じ長さの文字ベクトルです。
準備
あらかじめ、tidyverseパッケージを読み込んでおきます。
library(tidyverse)
使用例
文字列「りんご、ごりら、らっぱ。りんご、ごりら、らっぱ。」で「ごりら」を一つ削除するには次のようにします。
str_remove("りんご、ごりら、らっぱ。りんご、ごりら、らっぱ。", "ごりら")
[1] "りんご、、らっぱ。りんご、ごりら、らっぱ。"