replace()方法在替换某些字符串时失效了
如图:
当用replaceFirst方法替换含有 “+” 的字符串时好像出问题了,无法正常替换。
已验证用replace方法一切正常。
因为看不懂源码,有没有懂的解释一下
private static void solve() throws IOException {
pw.println("你好,java".replace("你好", "Hello")); //成功
pw.println("你好,java".replaceFirst("你好", "Hello")); //成功
pw.println("((T+F)+(F+F))+(F+T)".replace("T+F", "T")); // 成功
pw.println("((T+F)+(F+F))+(F+T)".replaceFirst("T+F", "T"));//失败
pw.println("((A+B)+(F+F))+(F+T)".replaceFirst("A+B", "T"));//失败
pw.println("((A+B)+(F+F))+(F+T)".replaceFirst("A", "T"));//成功
pw.println("((A+B)+(F+F))+(F+T)".replaceFirst("A+", "T"));//失败
pw.println("((A+B)+(F+F))+(F+T)".replace("A+", "T"));//失败
}