我想将其后的字符串拆分为句点.我试着strsplit()用"."的split说法,但没有得到我想要的结果.
s <- "I.want.to.split"
strsplit(s, ".")
[[1]]
[1] "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""
Run Code Online (Sandbox Code Playgroud)
我想要的输出是s在列表中拆分为4个元素,如下所示.
[[1]]
[1] "I" "want" "to" "split"
Run Code Online (Sandbox Code Playgroud)
我该怎么办?
Ric*_*ven 33
在split参数中使用正则表达式时strsplit(),你必须转义.with \\.,或者使用charclass [.].否则,您将.其用作特殊字符,即"任何单个字符".
s <- "I.want.to.split"
strsplit(s, "[.]")
# [[1]]
# [1] "I" "want" "to" "split"
Run Code Online (Sandbox Code Playgroud)
但是这里更有效的方法是使用fixed参数strsplit().使用此参数将绕过正则表达式引擎并搜索完全匹配".".
strsplit(s, ".", fixed = TRUE)
# [[1]]
# [1] "I" "want" "to" "split"
Run Code Online (Sandbox Code Playgroud)
当然,你可以看到help(strsplit)更多.
您需要将点放在字符类.中,或者在它前面加上两个反斜杠来转义它,因为点是正则表达式中具有特殊含义的字符,意思是“匹配任何单个字符(换行符除外)”
s <- 'I.want.to.split'
strsplit(s, '\\.')
# [[1]]
# [1] "I" "want" "to" "split"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
22926 次 |
| 最近记录: |