我会在java中创建一个简单的代码来替换字母' z'通过信件' y' >>>这是代码
String s= "generalization";
for(int i=0;i<s.length();i++){
if(s.charAt(i)=='z') s.charAt(i)='y';
编译器向我返回错误&gt;&gt;&gt;为什么呢?
答案 0 :(得分:2)
Strings
是不可变的。您可以使用简单的字符数组并更改相应索引处的字符
答案 1 :(得分:1)
或许这样的事情:
String s = "Generalization";
char[] sChars = s.toCharArray();
for (int i = 0; i < sChars.length; i++) {
if (sChars[i] == 'z') {
sChars[i] = 'y';
}
}
s = String.copyValueOf(sChars);
System.out.println(s);
打印出来:Generaliyation
或者像在另一个答案中建议的那样,在这种情况下,有一种称为Regular expressions
又名regex
的东西,同样的事情也可以通过写作完成:
String s = "Generalization";
s = s.replace("z", "y");
System.out.println(s);
这也打印出:Generaliyation。
答案 2 :(得分:1)
您可以使用String类的方法replaceAll
。
String s = "generalization";
s = s.replaceAll("[z]", "y");
小心,第一个参数是正则表达式!