繁体   English   中英

R:搜索某个定界字符串

[英]R: Searching for a certain, delimited string

我正在R中寻找一种方法来搜索某个定界的字符串。 在我的示例中,如果单元格包含“ HDT2”而不是“ HDT21”或“ HDT24”等,则我需要接收TRUE,因为此字符串也包含HDT2。

所以现在我正在使用

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

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

有没有办法只检查一个特定的,定界的字符串? 谢谢!

编辑:我必须检查的字符串比“ HDT2”更长。 字符串例如是“ HDT2(Arm 1:参考)”。

您可以在grepl()使用以下正则表达式。 对于完全匹配的"HDT2" ,将返回true,之前或之后"HDT2"包含任何内容。

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

用法:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM