R根据条件拆分字符串

R根据条件拆分字符串,r,R,我想拆分以下字符串 c1 <- c("10033 EXPLOITATION 16 0034 SODIRIB 16") 我尝试了以下代码: res <- strsplit(c1, "[0-9]\\s{2,}[0-9]") res我们可以使用以下方法。这假设空格后面的数字长度不为2 strsplit(c1,"\\s(?=[0-9]{3,})",perl=T) [[1]] [1] "10033 EXPLOITATION 16" "0034 SODIRIB 16" 我不太明白拆分

我想拆分以下字符串

c1 <- c("10033  EXPLOITATION 16 0034 SODIRIB 16")
我尝试了以下代码:

res <- strsplit(c1, "[0-9]\\s{2,}[0-9]")

res我们可以使用以下方法。这假设空格后面的数字长度不为2

strsplit(c1,"\\s(?=[0-9]{3,})",perl=T)
[[1]]
[1] "10033  EXPLOITATION 16" "0034 SODIRIB 16" 

我不太明白拆分的逻辑。您在“后面加空格,前面加空格…”时说了拆分,但为什么在“16”后面的空格处拆分,而不是在其他空格处拆分?当“后面跟一个数字,前面跟一个数字”时,你的意思是在空格上拆分吗?嗨,谢谢你的回答。是的,我的意思是“在一个空格上拆分”后面跟一个数字,前面跟一个数字
strsplit(c1,"\\s(?=[0-9]{3,})",perl=T)
[[1]]
[1] "10033  EXPLOITATION 16" "0034 SODIRIB 16"