R×stringr::str_extract_all 文字列からすべての完全一致を抽出する

R言語で、文字列からすべての完全一致を抽出する方法について解説します。文字列の操作には、tidyverseパッケージに含まれているstringrパッケージを使用するのが便利です。ここでは、stringrパッケージのstr_extract_all()を使用した方法についてお伝えします。

str_extract_all()の概要

str_extract_all()は、文字列からすべての完全一致を抽出するための関数です。

str_extract_all()の使い方


str_extract_all(string, pattern, simplify = FALSE)

str_extract_all()の引数

string

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

pattern

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

simplify = FALSE

真偽値を指定します。

  • FALSE(デフォルト):文字ベクトルのリストを返します
  • TRUE:文字行列を返します

準備

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


library(tidyverse)

str_extract_all()の使用例

文字列からすべての完全一致を抽出するには次のようにします。


str_extract_all(c("あかいろ", "くろ", "いろいろ"), "いろ")

[[1]]
[1] "いろ"

[[2]]
character(0)

[[3]]
[1] "いろ" "いろ"