Java 与“有麻烦”;“全部替换”;命令

Java 与“有麻烦”;“全部替换”;命令,java,Java,我有一根绳子 s1 = "7+8"; 及 我用下面的代码从s1中减去s2 System.out.println(s1.replaceAll(s2,"")); 但它也在以同样的方式提供产出 "+8" 为什么会发生这种情况???作为您问题的答案(为什么会发生这种情况??),String.replaceAll将正则表达式作为第一个参数 您可能需要使用String.replace System.out.println(s1.替换(s2,”)正则表达式“7+”匹配“7”的一个或多个实例。这就是被替换

我有一根绳子

s1 = "7+8";

我用下面的代码从s1中减去s2

System.out.println(s1.replaceAll(s2,""));
但它也在以同样的方式提供产出

"+8"

为什么会发生这种情况???

作为您问题的答案(为什么会发生这种情况??),String.replaceAll将正则表达式作为第一个参数

您可能需要使用String.replace


System.out.println(s1.替换(s2,”)

正则表达式
“7+”
匹配
“7”
的一个或多个实例。这就是被替换的内容,留下
“+8”

如果要匹配精确字符串而不是正则表达式,请使用
replace
而不是
replaceAll

s1.replace(s2, "")

发生的情况是,该方法使用正则表达式(regex)来确定要替换的内容

字符串java.lang.String.replaceAll(字符串正则表达式,字符串替换): 将此字符串中与给定正则表达式匹配的每个子字符串替换为给定替换

你能做什么?你可能想用字符串来代替:

System.out.println(s1.replace(s2, ""));

是的,替换对我有效,谢谢。我也知道了原因。很高兴它有效。请考虑接受帮助你的答案。是的,有,但是为什么要费心呢?很抱歉。我不确定我到底在想什么。太多的API中有太多的“替换”…@DavidWallace嗯,我在说当我发布愚蠢的答案时有多尴尬,我做了很多…在过去的24小时里,我发布了(至少)两个事实错误。这发生在我们所有人身上。别再想了。
System.out.println(s1.replace(s2, ""));