String replaceAll 不替换 i++;

String replaceAll not replacing i++;

String preCode = "helloi++;world";
String newCode = preCode.replaceAll("i++;", "");

// 期望的输出 :: newCode = "helloworld";

但这并不是将 i++ 替换为空白。

只需使用 replace() 而不是 replaceAll()

String preCode = "helloi++;world";
String newCode = preCode.replace("i++;", "");

或者如果您需要 replaceAll(),请应用以下正则表达式

String preCode = "helloi++;world";
String newCode = preCode.replaceAll("i\+\+;", "");

注意:在 replace() 的情况下,第一个参数是字符序列,但在 replaceAll 的情况下,第一个参数是正则表达式

试试这个

 public class Practice {
 public static void main(String...args) {
 String preCode = "Helloi++;world";
 String newCode = preCode.replace(String.valueOf("i++;"),"");
 System.out.println(newCode);
}  
}

问题是您用来替换的字符串,它被视为正则表达式模式以跳过您必须使用如下转义序列的含义。

String newCode = preCode.replaceAll("i\+\+;", "");