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

如何编写正则表达式移除[0-9]g模式且不删除主单词中的g/G

解决方案

错误原因

你之前的代码是全局匹配所有数字和所有g/G字符,没有限定匹配的上下文场景,自然会误删主单词里的对应字母。

正确实现方法

直接匹配「数字+大小写g」的完整后缀组合即可,不会误触主单词里的字符:

library(stringr)
# 一步替换完成
a$words <- str_replace_all(a$words, "\\s*\\d+[gG]\\b", "")
# 如果有残留首尾空格可以追加以下代码
# a$words <- str_trim(a$words)

正则规则说明

  • \\s*:匹配数值前的任意数量空白字符,替换时一起清除,避免残留多余空格
  • \\d+:匹配1个及以上的阿拉伯数字
  • [gG]:匹配小写g或大写G
  • \\b:单词边界限定,确保只匹配独立的数值后缀组合,不会命中主单词内部的g/G字符

处理效果

你提供的示例数据集处理后结果如下:

XYZ
ABC
Gha

完全保留主单词字符,无遗漏误删问题。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 16:06:01