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

前端之家收集整理的这篇文章主要介绍了使用正则表达式删除括号内的特定字符前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有这样的一行:
BlockedMatch(XA,YB),Correlation(XA,QC),Correlation(YB,Correlation(QC,YB)

我希望它看起来像这样:

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

我不能只对“,”进行替换,因为它将删除括号外的那些实例.

我试过这个:

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

它取代了括号内的所有内容(不仅仅是逗号).我试图将逗号和空格组合添加到该正则表达式中,但它似乎没有删除任何东西.

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

使用前瞻:
str = str.replaceAll(",(?=[^(]*\\))","");

这个正则表达式说“仅当下一个括号字符是一个紧密的括号时才替换逗号空格”

一些测试代码

String str = "BlockedMatch(XA,YB)";
str = str.replaceAll(","");
System.out.println(str);

输出

BlockedMatch(XAYB),Correlation(QCYB)

猜你在找的正则表达式相关文章