gpt4 book ai didi

java - 无法替换字符串中的字符

转载 作者:搜寻专家 更新时间:2023-11-01 04:02:13 24 4
gpt4 key购买 nike

我正在尝试遍历一个字符数组,并将字符串中的那个字符替换为另一个数组中的平行字符。

private String replace(String input)
{
char[] first = {'a','e','o','s'};
char[] second = {'@','3','0','$'};
String myCopy = input.toLowerCase();


for(int y = 0; y < first.length; y++)
{
myCopy.replace(first[y],second[y]);
}


return myCopy;
}

这是我得到的示例:

Enter a string: as the dog runs here
Output: as the dog runs here

它总是输出没有替换的相同字符串。

我也试过使用:

myCopy.replace('a','@');

and

myCopy.replace("a","@");

和 replaceAll 方法。

有什么建议吗?

最佳答案

字符串在 Java 中是不可变的。 replace() 不会更改您调用它的字符串 - 它返回一个包含更改的新字符串。所以你想要:

myCopy = myCopy.replace(first[y], second[y]);

(所有String 上“看起来”正在改变它的方法也是如此,因为它是不可变的。)

关于java - 无法替换字符串中的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9772883/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com