R:搜索特定的分隔字符串

时间:2015-10-27 09:29:39

标签: r

我在R中寻找一种搜索特定分隔字符串的方法。 在我的例子中,如果一个单元包含" HDT2"我需要接收TRUE。而不是" HDT21"或" HDT24"等等,因为这个字符串也包含HDT2。

所以现在我正在使用

grepl("HDT2",data.label[d,2])

在for循环中检查第二列data.label的每一行是否为" HDT2"。问题是如果不仅仅是" HDT2"这也会返回TRUE。例如,如果有" HDT21"它也会返回true。或者" HDT24",但这不是我想要的。

有没有办法只检查某个分隔的字符串? 谢谢!

编辑:我必须检查的字符串比#34; HDT2"更长。该字符串例如是" HDT2(第1组:参考)"。

1 个答案:

答案 0 :(得分:0)

您可以在grepl()中使用以下正则表达式。对于"HDT2"完全匹配,这将返回true,其前后没有任何内容。

grepl("^HDT2$",data.label[d,2])

<强>用法:

> grepl("^HDT2$", "HDT2")
[1] TRUE
> grepl("^HDT2$", "AHDT2")
[1] FALSE
> grepl("^HDT2$", "HDT2 (Arm 1: reference)")
[1] FALSE