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

Groovy如何实现替换操作?replaceAll写法不生效问题求助

你使用的comment.replaceAll('/....$/',"")写法不生效,是因为Groovy的replaceAll方法接收的正则参数不需要用斜杠包裹,你额外加的斜杠会被识别为要匹配的内容的一部分,自然无法匹配到目标字符串。另外示例代码开头的re是多余笔误,实际编码时请删除。

正确实现代码

如果你的需求是删除字符串末尾的4个任意字符,有两种常用写法:

  • Groovy正则字面量写法(推荐,无需额外转义反斜杠)
    comment = comment.replaceAll(/....$/, "")
    
  • 普通字符串作为正则参数的写法
    单引号字符串($符号不需要转义):
    comment = comment.replaceAll('....$', '')
    
    双引号字符串($是插值关键字,需要转义):
    comment = comment.replaceAll("....\$", "")
    

特殊场景补充

如果你的需求是删除末尾的4个英文点号而非任意字符,需要对.做转义:

// 仅删除末尾4个.的示例
comment = comment.replaceAll(/\.{4}$/, "")

注:如果原字符串长度不足4位,上述正则不会执行替换,不会抛出异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 03:24:04