我很好奇:
> strsplit("ty,rr", split = ",")
[[1]]
[1] "ty" "rr"
> strsplit("ty|rr", split = "|")
[[1]]
[1] "t" "y" "|" "r" "r"
Run Code Online (Sandbox Code Playgroud)
我为什么不c("ty","rr")
来自strsplit("ty|rr", split="|")
?
And*_*rie 13
这是因为split
参数被解释为正则表达式,并且|
是正则表达式中的特殊字符.
为了解决这个问题,您有两种选择:
选项1:逃避|
,即split = "\\|"
strsplit("ty|rr", split = "\\|")
[[1]]
[1] "ty" "rr"
Run Code Online (Sandbox Code Playgroud)
选项2:指定fixed = TRUE
:
strsplit("ty|rr", split = "|", fixed = TRUE)
[[1]]
[1] "ty" "rr"
Run Code Online (Sandbox Code Playgroud)
另请注意参见章节?strsplit
,其中告诉您阅读?"regular expression"
有关模式规范的详细信息.
归档时间: |
|
查看次数: |
2264 次 |
最近记录: |