我想在右边的第三个空白处拆分一系列字符串。空格的数量因字符串而异,但每个字符串至少有三个空格。这是两个示例字符串。
strings <- c('abca eagh ijkl mnop', 'dd1 ss j, ll bb aa')
我想:
[1] 'abca', 'eagh ijkl mnop'
[2] 'dd1 ss j,', 'll bb aa'
我能来的最接近的是:
strsplit(strings, split = "(?<=\\S)(?=\\s(.*)\\s(.*)\\s(.*)$)", perl = TRUE)
返回:
[[1]]
[1] "abca" " eagh" " ijkl mnop"
[[2]]
[1] "dd1" " ss" " j," " ll bb aa"
我一直认为答案应该是这样的:
strsplit(strings, split = "(?<=\\S\\s(.*)\\s(.*)\\s(.*)$)(?=\\s(.*)\\s(.*)\\s(.*)$)", perl = TRUE)
但是,这会返回错误。谢谢你的任何建议。我更喜欢基本的解决方案,希望是使用正则表达式的解决方案。