用R中的gsub错误地替换字符串

时间:2014-05-24 10:47:19

标签: r syntax gsub

我尝试从".1"数据框中排除所有labelexp次出现。

我的输入

     ID
1 NE001403
2 NE001458.1
3 NE001494.1
4 NE001634.1
5 NE001635.1
6 NE001637.1

我试过了:labelexp$ID <- gsub(".1", "", labelexp$ID),但我的输出是:

    ID
1 NE0403
2 NE0458
3 NE0494
4 NE0634
5 NE0635
6 NE0637

有什么想法吗?谢谢。

2 个答案:

答案 0 :(得分:3)

.”是R中正则表达式中的特殊字符 - 它表示任何字符。你需要在它前面加上“\\”告诉R你的意思是它是字符“。”。因此,请尝试:

labelexp$ID <- gsub("\\.1", "", labelexp$ID)

这对你有用吗?

答案 1 :(得分:3)

您还可以使用fixed=TRUE选项:

 sub(".1", "","NE001458.1",fixed=TRUE)
 "NE001458"