我正在尝试用某些模式替换字符串“abc”:
当'a'替换为'b',当'b'替换为'c',当'c'替换为'a'。
我现在的代码是:
String alp = "abc";
String alteredAlp = "";
char [] charAlp = alp.toLowerCase().toCharArray();
for (int i = 0; i < charAlp.length() - 1; i++)
{
if(charAlp[i] == 'a')
alteredAlp += 'b';
else if(charAlp[i] == 'b')
alteredAlp += 'c';
else if(charAlp[i] == 'c')
alteredAlp += 'a';
}
我尝试使用“replaceAll”,但在第一次迭代后遇到了几个问题。
关于如何让它变得更好的任何想法? 提前致谢!
最佳答案
char[]
没有length()
这样的方法。将其更改为 charAlp.length
接下来,将 charAlp.length - 1
更改为 charAlp.length
,您的代码将起作用。
相反,你可以这样做:(没有额外的字符串)
for (int i = 0; i < charAlp.length ; i++)
{
if(charAlp[i] == 'a')
charAlp[i]= 'b';
else if(charAlp[i] == 'b')
charAlp[i]= 'c';
else if(charAlp[i] == 'c')
charAlp[i]= 'a';
}
System.out.println(charAlp);
现在,您将 charAlp
更改为 "bca" 而不是 "abc"(如您所愿)
关于java - 一次替换多个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15354909/