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

R语言:统计无前置特定单词的各类格式数字出现次数问题

解决排除"about"后数字的统计问题

原代码问题分析

  • 正则中的^锚定了字符串起始位置,只能匹配开头的第一个数字,后续位置的数字无法被匹配。
  • 负前瞻(?!about\\s)的位置错误,仅在字符串开头检查是否无"about ",无法排除中间位置"about"后的数字。

修正方案

去掉^,改用**负后顾(?<!about\\s)**检查数字前是否存在"about ",确保只统计前面没有"about "的数字。

修正后的代码

library(stringr)
test <- "2% about 2% 2 about 2"
str_count(test, "(?<!about\\s)(\\+?)(\\.?)\\d+")

运行结果为2,符合预期。

补充说明

如果需要将带%的数字(如2%)作为整体匹配,可在正则末尾添加可选的%:

str_count(test, "(?<!about\\s)(\\+?)(\\.?)\\d+%?")

同样返回2,匹配的是2%和2两个目标项。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 14:35:23