You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在R中使用str_detect匹配指定字符串至少出现2次的实现方法

解决方案

以下基于R语言stringr包的str_detect函数实现,配套示例数据如下:

library(stringr)
find.variable <- c("detect me a string detect", "detect string", "string", "detect detect", "detectdetect")

1 基础匹配需求(含连写场景)

正则规则匹配任意位置出现至少2次detect子串即可,无需判断是否为独立单词:

str_detect(find.variable, "detect.*detect")

输出结果完全符合预期:

[1]  TRUE FALSE FALSE  TRUE  TRUE

规则说明:正则中的.*匹配0个或多个任意字符,只要字符串中存在两处detect子串,不管中间有没有其他内容、是否连写都会命中。

2 进阶匹配需求(仅独立单词计入)

在正则中添加单词边界符\\b限制detect必须作为独立单词出现:

str_detect(find.variable, "\\bdetect\\b.*\\bdetect\\b")

输出结果完全符合预期:

[1]  TRUE FALSE FALSE  TRUE FALSE

规则说明:\\b匹配单词边界(单词与非单词字符的分界点,包括字符串首尾、空格、标点等位置),连写的detectdetect中两个子串之间没有单词边界,不会被判定为两次独立出现。

内容的提问来源于stack exchange,提问作者rightmove27

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 11:54:02