R×stringr::str_count 文字列でパターンが一致した回数をカウントする

R言語のstringrパッケージに含まれているstr_count()関数について解説します。この関数は、「文字列の中に、特定の文字やパターンが『何個』含まれているかを数えたい」ときに使える関数です。

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

概要

str_count()は、文字列でパターンが一致した回数をカウントするための関数です。

使い方


str_count(string, pattern = "")

引数

string

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

pattern = “”

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

使用例

準備

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


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

出現回数を数える

文字列「あいうえおあいう」内で「あ」が出現する回数を数えるには次のようにします。


str_count("あいうえおあいう", pattern = "あ")

[1] 2

次のように、文字列のベクトルとして指定することもできます。


str_count(c("あいうえおあいう", "あいうえおかきくけこ"), pattern = "あ")

[1] 2 1

参考文献