3

stackoverflowの誰かが、charsの位置を見つけるこのコードを提供しました...問題は、文字列全体を検索して各位置を返すループです...このコードでは、「プール」の例が使用されています。したがって、1と2を返します

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

メソッドで返された両方の位置を使用して文字を置き換える方法はありますか...たとえば、「o」を「hh」に置き換えて「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 に答える