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
楼主是想搞一个编译是吧?
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");
aa=aa.replace("(2+3)","5");
String aa="1"+(2+3);
aa.replaceAll("\\(2\\+3\\)", "5");