« [R]文字列を比較する | トップページ | [R]文字列を数値に変換する »

2022年7月18日 (月)

[R]文字列に特定の文字列が含まれているか調べる

grep関数を使う。以下、使用例。

> s <- c("ABC", "abc", "ABc")
> grep("AB", s)
[1] 1 3
> grep("c", s)
[1] 2 3
> grep("c", s, value = TRUE)
[1] "abc" "ABc"

最初の例では文字列「AB」が含まれるのは1番目と3番目の要素のため、1と3が返される。最後の例ではvalueオプションをTRUEにすることで、インデックスではなく含まれる要素の値そのものを返している。

> grep("d", s)
integer(0)
> grep("d", s, value = TRUE)
character(0)

指定した文字列が見つからなければ空のベクトルが返される。

検索に、正規表現も使える。第一引数にパターンを指定する。

> s <- c("あいう", "いうあ", "うあい")
> grep("^あ", s, value = TRUE)
[1] "あいう"
> grep("あ$", s, value = TRUE)
[1] "いうあ"
> grep("[あ]", s, value = TRUE)
[1] "あいう" "いうあ" "うあい"

« [R]文字列を比較する | トップページ | [R]文字列を数値に変換する »

R(文字と文字列)」カテゴリの記事

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

« [R]文字列を比較する | トップページ | [R]文字列を数値に変換する »

無料ブログはココログ

■■

■■■