我无法用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;
}
答案 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);