在这里,
> 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"
在这里,答案是不正确的。当我使用'|和'时,如何获得“AA”和“BB”?
提前谢谢。
答案 0 :(得分:25)
正如你可以读到的那样?strsplit,函数strsplit中的参数split是regular expression。因此,您需要逃离垂直条(它是一个特殊字符)
strsplit(r,split='\\|and')
或者你可以选择fixed = TRUE来表示split不是正则表达式
strsplit(r,split='|and',fixed=TRUE)