R言語のstringrパッケージに含まれているstr_extract()関数について解説します。この関数は、「目的の文字列が1度だけ登場すると分かっている場合や、複数あっても最初の1つ目だけを抽出したい」ときに使える関数です。この関数は、文字列の中から、指定したパターン(正規表現など)にマッチする最初の部分だけを抽出する関数です。
stringrパッケージは、文字列データを操作するための強力で便利な関数を多く取り扱っています。また、Rのデータサイエンス向け主要パッケージ群であるtidyverseパッケージにも含まれています。
概要
str_extract()は、文字列から最初の完全一致を抽出するための関数です。
使い方
str_extract(string, pattern, group = NULL)
引数
入力ベクトルを指定します。文字ベクトルまたは文字ベクトルに変換可能なものを指定します。
検索するパターンを指定します。
デフォルトの解釈は、vignette(“regular-expressions”)で説明されている正規表現です。マッチング動作をより細かく制御するには、regex()を使用します。
fixed()を使用して、固定文字列(つまり、バイト列のみを比較する)に一致させます。これは高速ですが、近似値です。一般的に、人間のテキストに一致させるには、指定されたロケールの文字マッチング規則を尊重するcoll()を使用することをお勧めします。
boundary()を使用して、文字、単語、行、文の境界に一致させます。空のパターン””は、boundary(“character”) と同等です。
指定した場合、完全な一致を返す代わりに、指定されたキャプチャグループから一致したテキストを返します。
使用例
準備
あらかじめ、tidyverseパッケージまたはstringrパッケージを読み込んでおきます。
# library(tidyverse)でもよい
library(stringr)
文字列から最初の完全一致を抽出する
文字列から最初の完全一致を抽出するには次のようにします。
str_extract(c("りんご", "ごりら", "らっぱ"), "り")
[1] "り" "り" NA