用符号“*”拆分字符串

时间:2013-11-05 11:57:13

标签: r string split

> test = "23*45"

我想将test分割为符号*

我试过......

> strsplit(test,'*')

我得到了......

[[1]]
[1] "2" "3" "*" "4" "5"

我的目标是:

[[1]]
[1] "23" "45"

2 个答案:

答案 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, "*")