[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]同じ文字列を繰り返した文字列を作成する(2026.02.02)
- [R]文字列が数値に変換できるかどうか判定する(2025.12.31)
- [R]文字列の長さを得る(2025.12.30)
- [R]空白を追加した指定の長さの文字列を得る(2025.12.26)
- [R]文字列型ベクトルの要素を連結して文字列を作る(2025.12.17)

コメント