R で strsplit() 関数を使用して文字列要素を分割する方法
R のstrsplit()関数を使用すると、文字列を複数の部分に分割できます。この関数は次の構文を使用します。
strsplit(文字列, パターン)
金:
- string:文字ベクトル
- pattern:分割するパターン
次の例は、この関数を実際に使用する方法を示しています。
例 1: スペースに基づいて文字列を分割する
次のコードは、 strsplit()関数を使用してスペースに基づいて文字列を分割する方法を示しています。
#split string based on spaces
split_up <- strsplit(" Hey there people ", split="")
#view results
split_up
[[1]]
[1] “Hey” “there” “people”
#view class of split_up
class(split_up)
[1] "list"
結果は、元の文字列内のスペースに基づいて分割された 3 つの要素のリストです。
結果としてベクトルを生成したい場合は、代わりにunlist()関数を使用できます。
#split string based on spaces
split_up <- unlist(strsplit(" Hey there people ", split=" "))
#view results
split_up
[1] “Hey” “there” “people”
#view class of split_up
class(split_up)
[1] “character”
結果が文字ベクトルであることがわかります。
例 2:カスタム区切り文字に基づいて文字列を分割する
strplit()関数を使用して、ハイフンなどのカスタム区切り文字に基づいて文字列を分割することもできます。
#split string based on dashes
strsplit(" Hey-there-people ", split=" - ")
[[1]]
[1] “Hey” “there” “people”
結果は、元の文字列のハイフンに基づいて分割された 3 つの要素のリストです。
例 3:複数の区切り文字に基づいて文字列を分割する
strplit()関数のsplit引数で角括弧を使用して、いくつかの異なる区切り文字に基づいて文字列を分割することもできます。
#split string based on several delimiters
strsplit(" Hey&there-you/people ", split=" [&-/] ")
[[1]]
[1] “Hey” “there” “you” “people”
結果は、元の文字列に次の区切り文字のいずれかが存在する場合に分割された要素のリストです。
- アンパサンド ( & )
- ダッシュ ( – )
- スラッシュ ( / )
追加リソース
次のチュートリアルでは、R で文字列を使用して他の一般的な操作を実行する方法について説明します。
R で str_replace を使用する方法
Rで部分文字列マッチングを実行する方法
R で文字列を日付に変換する方法
Rで文字を数値に変換する方法