当我做
String s = "2r2";
System.out.println(s.replaceFirst("2r2","4"));
它可以打印4,但是当我这样做时
String s = "2^2";
System.out.println(s.replaceFirst("2^2","4"));
它不起作用(打印2 ^ 2),为什么?我该怎么办?
最佳答案
replaceFirst
使用正则表达式语法,其中^
具有特殊含义(根据所使用的修饰符,它表示字符串或行的开头)。
您需要像^
那样逃避"2\\^2"
,或使用Pattern.quote("2^2")
为您简化生活。
因此您的代码应该更像:
String s = "2^2";
System.out.println(s.replaceFirst(Pattern.quote("2^2"),"4"));
关于java - String.replaceFirst错误? java ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43968109/