在R中使用正则表达式检测字符串任意位置的完整独立单词
R 完整独立单词匹配正则实现方案
需求说明
需要检测字符串中任意位置作为独立完整单词出现的目标词,排除目标词作为其他长单词组成部分的情况。
示例代码与实现
首先定义测试字符串向量:
samplestr <- c("LT BLAHBLAH", "BLAH LT BLAH", "BLAHLT BLOO")
R 支持单词边界元字符\b,由于 R 字符串中反斜杠需要额外转义,因此使用\\b包裹目标词即可实现独立单词匹配,调用grepl的代码如下:
grepl("\\bLT\\b", samplestr)
运行后输出结果为:TRUE TRUE FALSE,完全符合预期。
原理解释
\b匹配的是单词字符(字母、数字、下划线)与非单词字符的交界位置,也匹配字符串开头/结尾和单词字符的交界位置,因此可以确保目标词的前后不会连接其他单词字符,不会匹配到目标词作为长单词组成部分的情况。
内容的提问来源于stack exchange,提问作者samalevy
相关产品推荐
相关产品推荐

