这里,
> r<-c("AAandBB", "BBandCC")
> strsplit(as.character(r),'and')
[[1]]
[1] "AA" "BB"
[[2]]
[1] "BB" "CC"
工作正常,但是
> r<-c("AA|andBB", "BB|andCC")
> strsplit(as.character(r),'|and')
[[1]]
[1] "A" "A" "|" "" "B" "B"
[[2]]
[1] "B" "B" "|" "" "C" "C"
这里的答案是不正确的。当我使用“|and”时如何获得“AA”和“BB”?
提前致谢。
最佳答案
正如您在 ?strsplit 上所读到的,函数 strsplit 中的参数 split 是 regular expression 。因此,您要么需要转义竖线(它是一个特殊字符)
strsplit(r,split='\\|and')
或者您可以选择fixed=TRUE来指示split不是正则表达式
strsplit(r,split='|and',fixed=TRUE)
关于string - strsplit 带竖线(管道),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23193219/