3

いくつかのスペースを含む文字列のベクトルがあります。これを、最後のスペースで分割された 2 つのベクトルに分割したいと思います。例えば:

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 を使用する前に同様のことを行い、次を使用して 2 番目のベクトルを取得することができました。

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

しかし、vec1 を取得する方法がわかりません。

前もって感謝します

4

1 に答える 1

8

先読みアサーションを使用する 1 つの方法を次に示します。

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 に答える