在逗号后分割字符串,不带尾随空格

Rom*_*man 3 regex string r strsplit

正如标题已经说的,我想分割这个字符串

strsplit(c("aaa,aaa", "bbb, bbb", "ddd , ddd"), ",")
Run Code Online (Sandbox Code Playgroud)

对此

[[1]]
[1] "aaa" "aaa"

[[2]]
[1] "bbb, bbb"

[[3]]
[1] "ddd , ddd"
Run Code Online (Sandbox Code Playgroud)

因此,正则表达式必须考虑逗号后面不应出现空格。可能是骗子,但无法通过谷歌找到解决方案。

Avi*_*Raj 5

正则表达式必须考虑逗号后面不应出现空格

使用否定先行断言:

> strsplit(c("aaa,aaa", "bbb, bbb", "ddd , ddd"), ",(?!\\s)", perl = TRUE)
[[1]]
[1] "aaa" "aaa"

[[2]]
[1] "bbb, bbb"

[[3]]
[1] "ddd , ddd"
Run Code Online (Sandbox Code Playgroud)

,(?!\\s),仅当后面没有空格时才匹配