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

Java中如何使用replaceAll()方法删除多个匹配的指定字符串

错误原因

你使用的[(@class::)(@id::)]属于正则的字符组语法,仅会匹配组内包含的任意单个字符,因此会把所有出现的@、(、)、c、l、a、s、i、d、:等单个字符逐一删除,最终输出不符合预期。

正确实现

要匹配完整的目标字符串,直接用|分隔多个待匹配项即可,无需加方括号包裹,修改后的代码如下:

public static void main(String[] args) {
    String s= "@class::menu-select @id::calibration-content";
    System.out.println(s.replaceAll("@class::|@id::",""));
}

运行后输出结果为:menu-select calibration-content,符合需求。如果后续需要新增更多待删除的固定词汇,直接在正则中用|拼接新的目标字符串即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 21:15:07