文字列の一部を別の文字や文字列に置換する

String クラスで用意されている replace メソッドは対象の文字列の中の指定した文字を別の文字で置換したり、指定した文字列を別の文字列で置換します。ここでは Java で文字列の一部を別の文字列で置換する方法について解説します。

(Last modified: )

String.replaceメソッドの使い方

文字列の中の指定した文字を別の文字に置換したり、指定した文字列を別の文字列に置換するには String クラスの replace メソッドを使います。文字を置換するのか文字列を置換するのかによって引数の異なる replace メソッドがそれぞれ用意されています。

文字を別の文字で置換する

文字列の中の指定した文字を別の文字で置換する場合は次の replace メソッドを使用します。

public String replace(char oldChar, char newChar)

パラメータ:

oldChar - 以前の文字
newChar - 新しい文字

戻り値:
この文字列内のすべてのoldCharをnewCharに置換することによって生成された文字列。

対象の文字列の中にある 1 番目の引数で指定した文字を 2 番目の引数で指定した文字に置換した新しい文字列を戻り値として返します。置換する文字が対象の文字列の中に複数あった場合にはすべて置換します。

次のサンプルを見てください。

String str = "Herro Java";
System.out.println(str.replace('r', 'l'));  // Hello Java

対象の文字列に含まれる 'r' をすべて 'l' に置換した新しい文字列を取得しました。

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

文字列の中の指定した文字列を別の文字列で置換する場合は次の replace メソッドを使用します。

public String replace(CharSequence target, CharSequence replacement)

パラメータ:
target - 置換されるchar値のシーケンス
replacement - char値の置換シーケンス

戻り値:
結果として得られる文字列

対象の文字列の中にある 1 番目の引数で指定した文字列を 2 番目の引数で指定した文字列に置換した新しい文字列を戻り値として返します。置換する文字列が対象の文字列の中に複数あった場合にはすべて置換します。

次のサンプルを見てください。

String str = "東京都港区";
System.out.println(str.replace("港区", "中央区"));  // 東京都中央区

対象の文字列に含まれる "港区" をすべて "中央区" に置換した新しい文字列を取得しました。

サンプルコード

それでは簡単なサンプルプログラムを作って試してみます。テキストエディタで次のように記述したあと、 JSample16-1.java という名前で保存します。

class JSample16_1{
  public static void main(String[] args){
    String str1 = "Herro Java";
    System.out.println(str1);
    System.out.println(str1.replace('r', 'l'));

    String str2= "東京都港区";
    System.out.println(str2);
    System.out.println(str2.replace("港区", "中央区"));
  }
}

コンパイルを行います。

javac -encoding UTF-8 JSample16_1.java

その後で、次のように実行してください。

java JSample16_1

String.replaceメソッドの使い方(1)

String.replace メソッドを使った対象の文字列の中に含まれる文字や文字列を別の文字や文字列に置換した新しい文字列を取得しました。

-- --

Java で文字列の一部を別の文字列で置換する方法について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。