Java で文字列の文字を置換する
- 
          
            Java 文字列の 1 文字を置換するには String.replace()を使用する
- 
          
            Java 文字列の最初に出現する文字のみを置換する String.replaceFirst()
- 
          
            Java で文字列内の 2 文字を置換するには String.replace()を使用する
 
このチュートリアルでは、Java で与えられた文字列の中の 1つ以上の文字を置換するための String クラスの replace() と replaceFirst() の 2つのメソッドを紹介します。
Java 文字列の 1 文字を置換するには String.replace() を使用する
    
文字列中の一文字を置換するには、replace() メソッドを用いることができます。第一引数は置換したい文字であり、第二引数は古い文字を置き換える新しい文字です。
次の例では、文字列 oldString1 の中に & を含む文がありますが、これをコマで置き換えたいとします。これは、oldString1 を使用して replace() メソッドを呼び出し、& とコマを渡すことで簡単に行うことができます。
ここで注意すべき重要なことは、replace() の & の前に空白があることです。これは、対象の文字の周りに空白があるためです。空白をなくすために、& と空白の両方をコマに置き換えます。
public class ReplaceCharString {
  public static void main(String[] args) {
    String oldString1 = "My name is Sam & I am a software developer.";
    String newString1 = oldString1.replace(" &", ",");
    System.out.println(newString1);
  }
}
出力:
My name is Sam, I am a software developer.
Java 文字列の最初に出現する文字のみを置換する String.replaceFirst()
置換したい文字列の中には、同じ文字が複数存在する場合があります。文字の最初の出現のみを置換し、それ以降の出現は無視するようにしたい場合は、String クラスの別のメソッド replaceFirst() を使用します。これは String クラスの別のメソッド replaceFirst() を使って行うことができます。その名が示すように、これは文字列の最初の文字のみを置換します。
この例では、2つの & を持つ文字列があるので、先ほどの例のように最初の 1つだけをコマに置き換え、2つ目の & は無視します。そこで、oldString.replaceFirst(oldChar, newChar) を使用して、空白を & とコマで渡します。出力は最終的な結果を示しています。
public class ReplaceCharString {
  public static void main(String[] args) {
    String oldString1 =
        "I have used multiple Internet providers & but my current provider is AT&T.";
    String newString1 = oldString1.replaceFirst(" &", ",");
    System.out.println(newString1);
  }
}
出力:
I have used multiple Internet providerss, but my current provider is AT&T.
Java で文字列内の 2 文字を置換するには String.replace() を使用する
このチュートリアルの最後の例では、replace() を使って 2つの異なる文字を置換します。oldString1 では、大文字の文字 (V) を小文字の文字 (v) に置き換え、文字列の最後の文字であるコマ , を . に置き換えたいとします。
2つの replace() メソッドを結合し、適切な文字を渡すことで、1 行でこれを行うことができます。
public class ReplaceCharString {
  public static void main(String[] args) {
    String oldString1 = "My name is Sam and I am a Software DeVeloper,";
    String newString1 = oldString1.replace("V", "v").replace(",", ".");
    System.out.println(newString1);
  }
}
出力:
My name is Sam and I am a Software Developer.
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn関連記事 - Java String
- Java で 16 進文字列のバイト配列を変換する方法
- Java で文字列から部分文字列を削除する方法
- Java で文字列から文字列配列への変換を実行する方法
- Java 文字列をバイトに変換する方法
- Java でランダムな文字列を生成する
- Java のスワップメソッド
