私は興味がありました:
> strsplit("ty,rr", split = ",")
[[1]]
[1] "ty" "rr"
> strsplit("ty|rr", split = "|")
[[1]]
[1] "t" "y" "|" "r" "r"
c("ty","rr")
から来ないのはなぜstrsplit("ty|rr", split="|")
ですか?
私は興味がありました:
> strsplit("ty,rr", split = ",")
[[1]]
[1] "ty" "rr"
> strsplit("ty|rr", split = "|")
[[1]]
[1] "t" "y" "|" "r" "r"
c("ty","rr")
から来ないのはなぜstrsplit("ty|rr", split="|")
ですか?
これは、split
引数が正規表現として解釈され、正規表現|
の特殊文字であるためです。
これを回避するには、次の 2 つのオプションがあります。
オプション 1: をエスケープする|
、つまりsplit = "\\|"
strsplit("ty|rr", split = "\\|")
[[1]]
[1] "ty" "rr"
オプション 2: 指定fixed = TRUE
:
strsplit("ty|rr", split = "|", fixed = TRUE)
[[1]]
[1] "ty" "rr"
の参照セクションにも注意してください。パターン仕様の詳細について?strsplit
読むように指示されています。?"regular expression"