无法替换android

时间:2016-03-18 13:45:57

标签: android replace

我无法用String str = str.replace();替换字符串我的代码有什么问题?

String str = "NUM1 NUM2 NUM3 NUM4 NUM5";
    String t ="";

    String[] arrStr = {"N", "U", "M"};
    for (int i = 0; i < arrStr.length; i++) {
        for (int k = 1; k < 10; k++) {
            t = str.replace(arrStr[i] + k, arrStr[i] + "_" + k);
        }

    }
System.out.println(t);

总是t =&#34; NUM1 NUM2 NUM3 NUM4 NUM5&#34 ;;它不会改变,因为str.replace(arrStr[i] + k, arrStr[i] + "_" + k);没有替换。 我没有收到logcat中的任何错误

更新完整代码:

public String createChemistry(String a) {
    String t = "";
    String[] arrStr = {
            "H", "Li", "Be", "B", "C", "N", "O", "F", "Ne", "Na", "Mg", "Al", "Si", "P", "S", "Cl", "Ar", "K", "Ca",
            "Cr", "Mn", "Fe", "Co", "Ni", "Cu", "Zn", "Br", "Xe", "Rn", "I", "Sn", "In", "Cd",
            "Rb", "Sr", "Pb", "Ag", "Cd", "Ba", "Au", "Hg", "Pb", "Cs"
    };
    for (int i = 0; i < arrStr.length; i++) {
        for (int k = 1; k < 10; k++) {
            t = a.replace(arrStr[i] + k, arrStr[i] + "_" + k);
        }

    }

    return t;
}

3 个答案:

答案 0 :(得分:0)

嗨,如果你只想更换M我在这里有一个简单的替换解决方案

String str = "NUM1 NUM2 NUM3 NUM4 NUM5";
System.out.println(str.replace("M","M_"));

//OUTPUT
NUM_1 NUM_2 NUM_3 NUM_4 NUM_5 

如果你想要别的东西告诉我,我会编辑答案。

答案 1 :(得分:0)

检查出来

public String createChemistry(String a) {
    String t = a;
    String[] arrStr = {
        "H", "Li", "Be", "B", "C", "N", "O", "F", "Ne", "Na", "Mg", "Al", "Si", "P", "S", "Cl", "Ar", "K", "Ca",
        "Cr", "Mn", "Fe", "Co", "Ni", "Cu", "Zn", "Br", "Xe", "Rn", "I", "Sn", "In", "Cd",
        "Rb", "Sr", "Pb", "Ag", "Cd", "Ba", "Au", "Hg", "Pb", "Cs"
    };
    for (int i = 0; i < arrStr.length; i++) {
        for (int k = 1; k < 10; k++) {
            t = t.replace(arrStr[i] + k, arrStr[i] + "_" + k);
        }
    }

    return t;
}

答案 2 :(得分:0)

您的t每次都在变化,您可能想要连接结果吗?

t += str.replace(arrStr[i] + k, arrStr[i] + "_" + k);