R×stringr::str_remove 文字列から一致したパターンを一つだけ削除する

R言語のstringrパッケージに含まれているstr_remove()関数について解説します。この関数は、「文字列の中から、指定したパターンに最初に一致した1箇所だけを削除したい」ときに使える関数です。一言で言うと、「文字列の先頭や、最初に出てくる特定の文字・記号だけをピンポイントで消したいとき」に使います。

stringrパッケージは、文字列データを操作するための強力で便利な関数を多く取り扱っています。また、Rのデータサイエンス向け主要パッケージ群であるtidyverseパッケージにも含まれています。

概要

str_remove()は、文字列から一致したパターンを一つだけ削除するための関数です。

使い方


str_remove(string, pattern)

引数

string

文字ベクトルまたは文字ベクトルに変換可能なものを指定します。

pattern

検索するパターンを指定します。
デフォルトの解釈は、vignette(“regular-expressions”) で説明されている正規表現です。マッチング動作をより細かく制御するには、regex()を使用してください。
fixed()を使用して、固定文字列(つまり、バイト列のみを比較する)に一致させます。これは高速ですが、近似値です。一般的に、人間のテキストに一致させるには、指定されたロケールの文字マッチング規則を尊重するcoll()を使用することをお勧めします。
boundary()を使用して、文字、単語、行、文の境界に一致させます。空のパターン””は、boundary(“character”) と同等です。

戻り値

string/patternと同じ長さの文字ベクトルです。

使用例

準備

あらかじめ、tidyverseパッケージまたはstringrパッケージを読み込んでおきます。


# library(tidyverse)でもよい
library(stringr)

最初に一致した特定の文字列を削除する

文字列「りんご、ごりら、らっぱ。りんご、ごりら、らっぱ。」で「ごりら」を一つ削除するには次のようにします。


str_remove("りんご、ごりら、らっぱ。りんご、ごりら、らっぱ。", "ごりら")

[1] "りんご、、らっぱ。りんご、ごりら、らっぱ。"

参考文献