public class NewClass {
public static void main(String[] args) {
String piece = "10*2";
String ans = "20";
String problm = "10*2*9";
System.out.println(piece);
System.out.println(ans);
problm.replaceAll(piece, ans);
System.out.println(problm);
}
}
这是我的代码,当我打印 problm
时,它会打印:10*2*9
我希望它打印 20*9
,请告诉我我做错了什么
最佳答案
首先,使用replace
而不是replaceAll
。 replaceAll
使用正则表达式,您可能不想要它。
其次,Java 中的字符串是不可变的,这意味着它们的值永远不会改变。您需要将 problm.replaceAll(piece, ans);
的值分配回 problm
:
problm = problm.replace(piece, ans);
关于Java:replaceAll 没有像我想象的那样工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28058879/