java中replaceAll替换圆括号 5C
 public class demo {
    public static void main(String[] args) {
       String aa="1+(2+3)";
       aa=aa.replaceAll("(2+3)", "5");
       System.out.println(aa);
       aa=aa.replaceAll("//(2+3//)", "5");
       System.out.println(aa);
    }
}

结果是:
1+(2+3)
1+(2+3)
怎么变成1+5

8个回答

aa=aa.replace("(2+3)","5");

String aa="1"+(2+3);

楼主是想搞一个编译是吧?

aa.replaceAll("\\(2\\+3\\)", "5");

aa.replaceAll("\(2\+3\)", "5");
自带正则需要转义

String aa="1+(2+3)+(2+3)";
aa = aa.replace("(2+3)", "5");
System.out.println(aa);

            replaceAll里面的第一个参数是正则,不是字符串,第二个是替换的字符串,方法用错了

replaceAll方法里面,第一个参数是一个正则表达式,特殊字符需要进行转义
正确的写法应该是 aa.replaceAll("\(2\+3\)", "5");

aa=aa.replaceAll("\(2\+3\)", "5");
或者
aa=aa.replace("(2+3)","5");

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐