Java 如何使用索引循环根据位置替换字符
给出了查找字符位置的代码。。。现在的问题是,它是一个循环,搜索整个字符串并返回每个位置。。。现在,在这段代码中使用了一个示例“pool”。所以它返回1和2Java 如何使用索引循环根据位置替换字符,java,indexof,Java,Indexof,给出了查找字符位置的代码。。。现在的问题是,它是一个循环,搜索整个字符串并返回每个位置。。。现在,在这段代码中使用了一个示例“pool”。所以它返回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”,导致“
String s = "Pool";
int idx = s.indexOf('o');
while (idx > -1) {
System.out.println(idx);
idx = s.indexOf('o', idx + 1);
}
是否有方法使用方法中返回的两个位置并替换字符。。。例如,如果我想用“hh”替换“o”,导致“phhl”您可能需要检查
字符串中的方法
例如,使用您的代码,您可以执行以下操作:
String s = "pool";
System.out.println(s.replaceAll("o", "h"));
我会推荐@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);
如果您将“pool”中的“o”替换为“hh”,您将得到“phhhl”我不想替换“o”我想替换位置1和2我不想根据char替换,我想根据位置替换“i想替换“o”给人的印象是您想替换o@苏杰的解决方案会给你想要的。“pool”。replaceAll(“o”、“h”)将给出您期望的“phhl”