string - strsplit 带竖线(管道)

标签 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"

这里的答案是不正确的。当我使用“|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/

相关文章:

powershell - 在Powershell中等效于* Nix 'cut'命令?

html - ruby rails : how to render a string as HTML?

c++ - 当我从内联函数返回字符串时,会创建多少个临时对象?

string - 如何将字符串格式化为电话号码 kotlin 算法

r - 在 r 中的条形图中居中条形标签

R:按列随机排列数据帧

python - 如何从输入行中提取两个数字并用制表符分隔它们?

string - Bash:如何在一行中应用两个字符串操作?

r - 如何通过重组 MALLET 输出文件来创建表格?

javascript - Java 与 JavaScript 拆分行为