どうも、ちょげ(@chogetarou)です。
文字列(string)を正規表現で分割する方法を紹介します。
方法

文字列(string)を正規表現で分割する方法は、2つあります。
strsplit()
ひとつは、strsplit()を使う方法です。
まず、strsplit()を呼び出します。
そして、strsplit()の第1引数に対象の文字列、第2引数にパターンの文字列を指定します。
#text=対象の文字列, 正規表現のパターンの文字列
result <- strsplit(text, pattern)
上記のstrsplit()は、対象の文字列(string)を正規表現のパターンにマッチした文字で分割したリストを返します。
もし、結果をベクトルで取得したい場合は、strsplit()の結果をunlist()でベクトルに変換します。
#結果をベクトルで取得
result <- unlist(strsplit(text, pattern))
使用例
text <- "AB\r\nCDE\nFG\nHIJ\r\nK"
result <- strsplit(text, "[\r\n]+")
print(result)
出力:
> print(result)
[[1]]
[1] "AB" "CDE" "FG" "HIJ" "K"
stringi
もうひとつは、stringiを使う方法です。
まず、library()を呼び出し、引数にstringiを指定します。
library(stringi)
次に、stri_split_regex()を呼び出します。
そして、stri_split_regex()の第1引数に対象の文字列、第2引数にパターンの文字列を指定します。
#text=対象の文字列, 正規表現のパターンの文字列
result <- stri_split_regex(text, pattern)
上記のstri_split_regex()は、対象の文字列(string)を正規表現のパターンにマッチした文字で分割した結果を返します。
使用例
library(stringi)
text <- "AB\r\nCDE\nFG\nHIJ\r\nK"
result <- stri_split_regex(text, "[\r\n]+")
print(result)
出力:
> print(result)
[1] "AB" "CDE" "FG" "HIJ" "K"
まとめ
文字列(string)を正規表現で分割する方法は、次の2つです。
- strsplit()を使う方法
result <- strsplit(text, pattern)
- stringiを使う方法
result <- stri_split_regex(text, pattern)
コメント