Javaの文字列内の特定のインデックスの文字を置き換える
1. 序章
このクイックチュートリアルでは、デモンストレーションを行います
元のString、文字、およびそれを置き換える必要のあるインデックスを取得する単純なメソッドの4つの実装を示します。
2. 文字配列の使用
charの配列を使用した簡単なアプローチから始めましょう。
ここでの考え方は、Stringをchar[] に変換してから、指定されたインデックスに新しいcharを割り当てることです。 最後に、その配列から目的のStringを作成します。
public String replaceCharUsingCharArray(String str, char ch, int index) {
char[] chars = str.toCharArray();
chars[index] = ch;
return String.valueOf(chars);
}
これは低レベルの設計アプローチであり、多くの柔軟性を提供します。
3. substringメソッドの使用
より高いレベルのアプローチは、 Stringクラスのsubstring()メソッドを使用することです。
インデックスの前の元のStringのサブストリングを、インデックスの後の元の String の新しい文字とサブストリングと連結することにより、新しいStringを作成します。
public String replaceChar(String str, char ch, int index) {
return str.substring(0, index) + ch + str.substring(index+1);
}
4. StringBuilderを使用する
StringBuilderを使用しても同じ効果が得られます。 メソッドsetCharAt():を使用して、特定のインデックスの文字を置き換えることができます。
public String replaceChar(String str, char ch, int index) {
StringBuilder myString = new StringBuilder(str);
myString.setCharAt(index, ch);
return myString.toString();
}
5. 結論
この記事では、Javaを使用してStringの特定のインデックスにある文字を置き換えるいくつかの方法に焦点を当てました。
String インスタンスは不変であるため、新しい文字列を作成するか、StringBuilderを使用して可変性を持たせる必要があります。
いつものように、上記のチュートリアルの完全なソースコードは、GitHubからで入手できます。