我想在模式“|”处分割字符串
但
unlist(strsplit("I am | very smart", " | "))
[1] "I" "am" "|" "very" "smart"
或者
gsub(pattern="|", replacement="*", x="I am | very smart")
[1] "*I* *a*m* *|* *v*e*r*y* *s*m*a*r*t*"
最佳答案
问题是默认情况下strsplit
将" | "
解释为正则表达式,其中|
具有特殊含义(如“或”)。
使用fixed
参数:
unlist(strsplit("I am | very smart", " | ", fixed=TRUE))
# [1] "I am" "very smart"
副作用是计算速度更快。
stringr
替代:unlist(stringr::str_split("I am | very smart", fixed(" | ")))
关于r - 如何使用 '|'字符拆分,其行为异常?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6382425/