尝试使用新字符替换String中的特定字符

时间:2017-03-02 20:44:47

标签: java

已在另一个帖子中回答的重复帖子。

2 个答案:

答案 0 :(得分:0)

假设你不能使用replace(),for循环可能是你最好的选择......

for (int i = 0; i < input.length(); i++)
    if (input.charAt(i) == charToReplace)
        input = input.substring(0,input.indexof(charToReplace))+newChar+input.substring(input.indexof(charToReplace) + 1)

更新解决方案

int count = 0;
for (int i = 0; i < input.length(); i++) {
    if (input.charAt(i) == charToReplace) {
        count++;
        if (count == 2)
             input = input.substring(0,input.indexof(charToReplace))+newChar+input.substring(input.indexof(charToReplace) + 1)
    }
}

答案 1 :(得分:0)

不是你问的问题,而是同样的想法。

String text = "hello";
char c = 'l';
char rc = '@';

int skip = 1;

int index = -1;
while (skip >= 0) {
    index += 1;
    if (text.charAt(index) == c) {
        skip -= 1;
    }
}

String newtext = text.substring(0, index) + rc + text.substring(index + 1);

这将输出hel@o