3

stackoverflow 上的某个人给出了这个找到字符位置的代码......现在的问题是,它是一个搜索整个字符串并返回每个位置的循环......现在在这段代码中使用了一个示例“池”。所以它返回 1 和 2

String s = "Pool";
int idx = s.indexOf('o');
while (idx > -1) {
System.out.println(idx);
idx = s.indexOf('o', idx + 1);
}

有没有办法使用方法中返回的两个位置并替换字符...例如,如果我想用 'hh' 替换 'o' 导致 'phhl'

4

2 回答 2

4

您可能需要检查public String replaceAll(String regex, String replacement).String

因此,例如,使用您的代码,您可以执行以下操作:

String s = "pool";
System.out.println(s.replaceAll("o", "h"));
于 2012-08-27T01:33:58.710 回答
2

我会推荐@Sujay 的解决方案,但以防万一不符合您的要求......

int counter = 0;
String input = "Pool";
char replacement = 'l';
char[] inputArray = input.toCharArray();
for(char ch : inputArray) {
    if(ch == 'o') {
        inputArray[counter] = replacement;
    }
    counter += 1;
}
String output = new String(inputArray);
System.out.println(output);
于 2012-08-27T01:39:26.387 回答