在 R 中使用 str_detect() 检测整个单词

ice*_*fee 2 r stringr

我在 R 中有一个字符串:

c("FLT1", "FLT1P1", "FLT1-FLT2", "SGY-FLT1, GPD")
Run Code Online (Sandbox Code Playgroud)

我想保留所有具有 FLT1 的匹配项,但在添加其他字母数字字符时则不保留。换句话说,我想保留除第二个条目之外的所有条目,因为它们都提到了 FLT1,但第二个条目提到了 FLT1P1。

当我使用 str_detect 时,它返回所有内容为 true:

str_detect(string, "FLT1")
[1] TRUE TRUE TRUE TRUE
Run Code Online (Sandbox Code Playgroud)

任何人都可以建议仅退回提及 FLT1 的物品的最佳方法吗?

Gre*_*gor 8

也许单词边界 with\\b会起作用。它们匹配字符串的开头或结尾以及任何非数字、字母或下划线字符的转换。

str_detect(string, "\\bFLT1\\b")
[1]  TRUE FALSE  TRUE  TRUE
Run Code Online (Sandbox Code Playgroud)