strsplit带竖杆(管)

时间:2014-04-21 07:51:19

标签: string r split strsplit

在这里,

> 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”?
提前谢谢。

1 个答案:

答案 0 :(得分:25)

正如你可以读到的那样?strsplit,函数strsplit中的参数split是regular expression。因此,您需要逃离垂直条(它是一个特殊字符)

strsplit(r,split='\\|and')

或者你可以选择fixed = TRUE来表示split不是正则表达式

strsplit(r,split='|and',fixed=TRUE)