R言語で、文字列の先頭の一致の有無を検出する方法について解説します。文字列の操作には、tidyverseパッケージに含まれているstringrパッケージを使用するのが便利です。ここでは、stringrパッケージのstr_starts()を使用した方法についてお伝えします。
str_starts()の概要
str_starts()は、文字列の先頭の一致の有無を検出するための関数です。これは、str_detect()の特殊なケースです。
str_starts()の使い方
str_starts(string, pattern, negate = FALSE)
str_starts()の引数
string
文字ベクトルまたは文字ベクトルに変換可能なものを指定します。
pattern
検索するパターンを指定します。
デフォルトの解釈は、vignette(“regular-expressions”)で説明されている正規表現です。マッチング動作をより細かく制御するには、regex()を使用してください。
fixed()を使用して、固定文字列(つまり、バイトのみを比較する)をマッチングします。これは高速ですが、近似値です。一般的に、人間のテキストをマッチングするには、指定されたロケールの文字マッチング規則を尊重するcoll()が適しています。
negate = FALSE
TRUE の場合、結果の真偽値ベクトルを反転します。
str_starts()の戻り値
真偽値ベクトルを返します。
準備
あらかじめ、tidyverseパッケージを読み込んでおきます。
library(tidyverse)
使用例
文字列「あいうえおあいう」内で文字列「あ」を先頭に含むかどうかを確認するには次のようにします。
str_starts("あいうえお", pattern = "あ")
[1] TRUE
次のように、文字列のベクトルとして指定することもできます。
str_starts(c("あいうえお", "かきくけこ"), pattern = "あ")
[1] TRUE FALSE