3

我有一个向量,其中包含多个空格的字符串。我想将其拆分为两个向量,由最后一个空格拆分。例如:

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。

提前致谢

4

1 回答 1

8

Here is one way using a lookahead assertion:

do.call(rbind, strsplit(vec, ' (?=[^ ]+$)', perl=TRUE))
#      [,1]           [,2]     
# [1,] "This is"      "one"    
# [2,] "And"          "another"
# [3,] "And one more" "again" 
于 2013-11-13T17:00:19.090 回答