> test = "23*45"
我想将test
分割为符号*
我试过......
> strsplit(test,'*')
我得到了......
[[1]]
[1] "2" "3" "*" "4" "5"
我的目标是:
[[1]]
[1] "23" "45"
答案 0 :(得分:5)
你需要逃离这个明星...
test = "23*45"
strsplit( test , "\\*" )
#[[1]]
#[1] "23" "45"
split
是正则表达式,*
表示前面的项匹配零次或多次。如strsplit()
的详细信息部分所述,您正在分裂,即分成单个字符。 \\*
表示*将*
视为文字*
。
或者使用fixed
参数...
strsplit( test , "*" , fixed = TRUE )
#[[1]]
#[1] "23" "45"
将R分割模式视为文字而不是正则表达式。
答案 1 :(得分:3)
您可能想要查看此包: http://www.rexamine.com/resources/stringi/
要安装此软件包,只需运行:
install.packages("stringi")
示例:
stri_split_fixed(test, "*")