根据R中的模式拆分字符串

时间:2016-03-11 11:11:27

标签: r gsub

我有一个字符串列表如下:

a <- c("aaaa 12 comments","bb cc 124 dd 134 commments","hh tt hhh 17 comments")

我想创建两个向量,一个只包含文本,另一个只包含注释数。

评论数量可能不同,但总是列在最后。

期望的结果:

a1 <- c("aaaa","bb cc 124 dd","hh tt hhh")
a2 <- c("12 comments","134 commments","17 comments")

非常感谢任何帮助。我正在尝试使用gsub,但它无法正常工作:

> gsub('[:digit:]*[:space:]comments$','', a)
[1] "aaaa 12 comments"           "bb cc 124 dd 134 commments" "hh tt hhh 17 comments"  

1 个答案:

答案 0 :(得分:0)

使用

a1 <- gsub('([0-9]+ comments$)',"", a)
library(stringr)
a2 <- unlist(str_extract_all(a,'([0-9]+ comments$)'))