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

在R中使用模式匹配统计每个字符串内指定模式的出现次数

R语言实现不区分大小写统计字符串中指定模式出现次数的方法

示例输入向量

vector1 <- c("Frank frank", "Frank", "Fred", "frank")

目标是统计每个元素中Frank/frank的出现次数,最终得到2 1 0 1的结果。


方法1:使用stringr包的str_count函数(代码更简洁)

# 未安装包先执行 install.packages("stringr")
library(stringr)
# 开启不区分大小写匹配
result <- str_count(vector1, regex("frank", ignore_case = TRUE))

如果需要严格匹配独立单词、避免命中franklin这类包含目标字符串的单词,可以加上单词边界规则:

result <- str_count(vector1, regex("\\bfrank\\b", ignore_case = TRUE))

方法2:Base R原生实现(无需额外安装包)

# 先获取每个字符串的匹配位置列表
matches <- gregexpr("frank", vector1, ignore.case = TRUE)
# 统计每个字符串的匹配次数,无匹配时返回0
result <- sapply(matches, function(x) sum(x > 0))

以上两种方法执行后输出result都可以得到预期结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 16:39:05