使用R中的gsub替换特定模式

时间:2014-10-31 05:42:19

标签: r pattern-matching gsub

我对R中的gsub函数有疑问。我有以下向量:

a=c('2.1','3.1.1.1','70','-940','10.1.1')

我想应用gsub函数来仅提取以下内容:

b=c('2.1','3.1.1.1','10.1.1')

这里'b'是某个文件的部分编号。 所以基本上我想要替换c('70','-940')并获得'b'。因为,我是R的新手,我不确定为这个特殊情况进入gsub的模式。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

最简单的方法是根据句点进行匹配,然后使用grepl创建逻辑提取索引,而不是gsub

b <- a[grepl("^([[:digit:]]+\\.)+", a)]
b
## [1] "2.1"     "3.1.1.1" "10.1.1"