Java で文字列の文字を置換する

Rupam Yadav 2023年10月12日
  1. Java 文字列の 1 文字を置換するには String.replace() を使用する
  2. Java 文字列の最初に出現する文字のみを置換する String.replaceFirst()
  3. Java で文字列内の 2 文字を置換するには String.replace() を使用する
Java で文字列の文字を置換する

このチュートリアルでは、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 Yadav
Rupam Yadav avatar Rupam Yadav avatar

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 Char