как определить целое слово в строке с помощью stringr - PullRequest
0 голосов
/ 06 мая 2020

Я пытаюсь определить слово целиком, используя 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"))

Спасибо за любую помощь.

1 Ответ

2 голосов
/ 06 мая 2020

Мы можем добавить границы слова как \\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")
...