首页 > 解决方案 > 如何使用 stringr 检测字符串中的整个单词

问题描述

我正在尝试使用str_detect. 它应该很简单,但我做错了......
这应该返回FALSE,但它返回TRUE

str_detect("Baumer PBMN PTransmitter 0-600bar#324664",pattern="600")

并添加boundary引发错误

str_detect(string="Baumer PBMN PTransmitter 0-600bar#324664", pattern="600",boundary("word"))

谢谢你的帮助。

标签: rstringr

解决方案


我们可以将单词边界添加为\\b。如果pattern是变量,我们可以使用paste0它与单词边界连接。

pn <- "600"
stringr::str_detect("Baumer PBMN PTransmitter 0-600bar#324664", paste0('\\b', pn, '\\b'))
#[1] FALSE

同样也可以使用grepl

grepl(paste0('\\b', pn, '\\b'), "Baumer PBMN PTransmitter 0-600bar#324664")

推荐阅读