按R中的最后一个空格拆分字符串

时间:2013-11-13 16:52:28

标签: regex string r split gsub

我有一个带有多个空格的字符串向量。我想将其拆分为由最终空格分割的两个向量。例如:

vec <- c('This is one', 'And another', 'And one more again')

应该成为

vec1 = c('This is', 'And', 'And one more again')
vec2 = c('one', 'another', 'again')

有一种快速简便的方法吗?在使用gsub和regex之前我做过类似的事情,并设法使用以下内容获取第二个向量

vec2 <- gsub(".* ", "", vec)

但无法弄清楚如何获得vec1。

提前致谢

1 个答案:

答案 0 :(得分:7)

这是使用先行断言的一种方式:

do.call(rbind, strsplit(vec, ' (?=[^ ]+$)', perl=TRUE))
#      [,1]           [,2]     
# [1,] "This is"      "one"    
# [2,] "And"          "another"
# [3,] "And one more" "again"