Java:replaceAll 没有像我想象的那样工作

标签 java replaceall

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而不是replaceAllreplaceAll 使用正则表达式,您可能不想要它。

其次,Java 中的字符串是不可变的,这意味着它们的值永远不会改变。您需要将 problm.replaceAll(piece, ans); 的值分配回 problm:

problm = problm.replace(piece, ans);

关于Java:replaceAll 没有像我想象的那样工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28058879/

相关文章:

java - 如何双重转义双引号?

java - 如何有效地打开一个巨大的excel文件

java - "compile project"的东西在发布到maven repository时不能带入aar

java - Spring 4.3.0.RELEASE + Hibernate 5.2.0.Final - Spring 安全错误

java - 如何访问另一个类中的对象(Java)

java - 如何在 Java 中查找和更新嵌入在字符串中的属性

java - 如何用一个替换字符串中的多个斜杠和反斜杠?

java - 尝试解码 Base64 后,收到 E/AndroidRuntime : FATAL EXCEPTION: main

java - 替换一个字符串,只要它后面没有跟在 java 中的另一个字符串吗?

java - 我似乎无法让 replaceAll 工作(删除两个字符串之间的所有内容)