gpt4 book ai didi

java - 使用正则表达式删除括号内的特定字符

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:44:42 25 4
gpt4 key购买 nike

我有这样一行:

BlockedMatch(XA, YB), Correlation(XA, QC), Correlation(YB, QC), Correlation(QC, YB)

我希望它看起来像这样:

BlockedMatch(XAYB), Correlation(XAQC), Correlation(YBQC), Correlation(QCYB)

我不能只对“,”进行替换,因为它会删除那些存在于括号之外的实例。

我试过这个:

replaceAll("\\((.*?)\\)", "")

替换括号内的所有内容(不仅仅是逗号)。我试图只将逗号和空格组合添加到该正则表达式中,但它似乎并没有删除任何内容。

有人可以告诉我如何指定仅在 括号内 出现时删除 ", "(逗号空格)吗?

最佳答案

使用前瞻:

str = str.replaceAll(", (?=[^(]*\\))", "");

这个正则表达式表示“仅当下一个括号字符是<​​em>右括号时才替换逗号空格”


部分测试代码:

String str = "BlockedMatch(XA, YB), Correlation(XA, QC), Correlation(YB, QC), Correlation(QC, YB)";
str = str.replaceAll(", (?=[^(]*\\))", "");
System.out.println(str);

输出:

BlockedMatch(XAYB), Correlation(XAQC), Correlation(YBQC), Correlation(QCYB)

关于java - 使用正则表达式删除括号内的特定字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29610585/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com