r - 用符号 "*"分割字符串

标签 r string split

> 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/

相关文章:

重新排列纵向数据

string - 格式化包含 '%' golang 的字符串

php - 我正在尝试拆分/分解/preg_split 一个字符串,但我想保留分隔符

r - 查找(并返回)满足(逻辑)测试的列表的第一个元素

r - 如何在 R 中打印隐藏 NA 值的矩阵?

r - 使用 R 数学符号时,ggplot geom_text 会弄乱文本顺序

java - 如何使用 StringUtils.substringsBetween();?

Python MySQL 在 Blob 中插入和检索列表

java - 如何在 java 中使用 "."作为 String.split() 的分隔符

javascript - 仅在一个点拆分字符串