小编dow*_*ter的帖子

按空格拆分字符串,除非包含在引号内

我一直试图在R中用双引号拆分空格分隔的字符串一段时间但没有成功.字符串的示例如下:

降雨量降雪"通道存储""小溪存储"

这对我们很重要,因为这些列标题必须与后续数据相匹配.关于如何解决这个问题,本网站还有其他建议,但它们似乎与R不兼容.一个例子:

正则表达式,用于在未被单引号或双引号括起时使用空格分割字符串

这是我一直在尝试的一些代码:

str <- 'rainfall snowfall "Channel storage" "Rivulet storage"'
regex <- "[^\\s\"']+|\"([^\"]*)\""
split <- strsplit(str, regex, perl=T)
Run Code Online (Sandbox Code Playgroud)

我想要的是什么

[1] "rainfall" "snowfall" "Channel storage" "Rivulet storage"
Run Code Online (Sandbox Code Playgroud)

但我得到的是:

[1] ""  " " " " " "
Run Code Online (Sandbox Code Playgroud)

向量是正确的长度(这是令人鼓舞的)但当然字符串是空的或包含单个空格.有什么建议?

提前致谢!

regex r strsplit

9
推荐指数
2
解决办法
1809
查看次数

标签 统计

r ×1

regex ×1

strsplit ×1