> test = "23*45"
我想用符号 *
test
我试过了……
> strsplit(test,'*')
我得到了……
[[1]]
[1] "2" "3" "*" "4" "5"
我的目标是:
[[1]]
[1] "23" "45"
最佳答案
你需要逃离星星......
test = "23*45"
strsplit( test , "\\*" )
#[[1]]
#[1] "23" "45"
split
是正则表达式,*
表示前面的项目匹配零次或多次。如 strsplit()
的 Details 部分所述,您没有进行任何拆分,即拆分为单个字符。 \\*
表示 *将 *
视为文字 *
。
或者使用 fixed
参数...
strsplit( test , "*" , fixed = TRUE )
#[[1]]
#[1] "23" "45"
这让 R 将拆分模式视为文字而不是正则表达式。
关于r - 用符号 "*"分割字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19788441/