> test = "23*45"
我想要通过符号*
来拆分test
我尝试过...
> strsplit(test,'*')
and I got...
[[1]]
[1] "2" "3" "*" "4" "5"
What I aim to have is:
[[1]]
[1] "23" "45"
您需要转义星号...
test = "23*45"
strsplit( test , "\\*" )
#[[1]]
#[1] "23" "45"
split
是一个正则表达式,*
表示前面的项匹配零次或多次。你正在拆分空字符,即按照单个字符进行拆分,如strsplit()
的详细信息部分所述。 \\*
表示将*
视为字面上的*
。
或者使用fixed
参数...
strsplit( test , "*" , fixed = TRUE )
#[[1]]
#[1] "23" "45"
这将使R将分割模式视为字面值而不是正则表达式。
install.packages("stringi")
例子:
stri_split_fixed(test, "*")