gsub找到一个模式

时间:2016-02-11 09:12:07

标签: r gsub

我的数据看起来像这样,并被称为:df。

"77 173 648 1936"

所有数字的长度均为1-4位。

gsub( " .*$", "", df)
#77

我找到77.但是如何在这种模式中找到173?

2 个答案:

答案 0 :(得分:4)

我们可以使用str_extract_all提取所有数字(\\d+

 library(stringr)
 lapply(str_extract_all(df1, '\\d+'), as.numeric)

或者只是

 scan(text=df1, sep=' ', what=numeric(), quiet=TRUE)
 #[1]   77  173  648 1936

答案 1 :(得分:3)

您也可以使用,

as.numeric(regmatches(df1, gregexpr("[[:digit:]]+", df1))[[1]])
#[1]   77  173  648 1936