Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java:replaceAll没有像我认为的那样工作_Java_Replaceall - Fatal编程技术网

Java:replaceAll没有像我认为的那样工作

Java:replaceAll没有像我认为的那样工作,java,replaceall,Java,Replaceall,这是我的代码,当我打印problm时,它会打印:10*2*9 我想打印20*9,请告诉我我做错了什么首先,使用replace而不是replaceAll。replaceAll使用正则表达式,这可能是您不想要的 其次,Java中的字符串是不可变的,这意味着它们的值永远不能更改。您需要分配problm.replaceAllpiece的值,ans;回到problm: 这里有两个不同的问题: replaceAll使用正则表达式。如果您还不理解正则表达式,您可能需要替换它 您将忽略replaceAll的结果

这是我的代码,当我打印problm时,它会打印:10*2*9 我想打印20*9,请告诉我我做错了什么

首先,使用replace而不是replaceAll。replaceAll使用正则表达式,这可能是您不想要的

其次,Java中的字符串是不可变的,这意味着它们的值永远不能更改。您需要分配problm.replaceAllpiece的值,ans;回到problm:


这里有两个不同的问题:

replaceAll使用正则表达式。如果您还不理解正则表达式,您可能需要替换它

您将忽略replaceAll的结果,并打印原始字符串。您应该打印结果:

problm = problm.replace(piece, ans);
当然,您不必使用临时变量,如果需要,也不必称之为解决方案


您需要再次将其分配给problm。字符串是不可变的,不能更改。

第一个replaceAll参数应该是正则表达式。因此,在这种情况下,它正在识别*。使用斜杠\转义这些字符。problm=10\\\*2\\*9我没有创建新变量,而是使用了相同的变量problm,所以:problm=problm.replacepaike,ans;然后打印problm。救救我吧,谢谢。
problm = problm.replace(piece, ans);
String solution = problm.replace(piece, ans);
System.out.println(solution);