[Java] replace 文字列を置換するサンプル

Javaのreplaceメソッドで文字列を置換するサンプルです。

目次

サンプル replaceとは
  文字列を置き換える
  指定した文字や空白を削除する
  正規表現で全ての文字を置き換える(replaceAll)
  正規表現で最初の文字を置き換える(replaceFirst)

replaceとは

public String replace(CharSequence target, CharSequence replacement)
public String replace(char oldChar, char newChar)
  • 1つめの引数の文字列を2つめの引数の文字列に置き換えます。
  • 引数はCharSequenceですが、String型を指定できます。StringクラスはCharSequenceインターフェースを実装しているためです。
  • replaceメソッドの引数がchar型の場合、指定した1文字を別の1文字に全て置き換えます。
  • 戻り値はString型です。

文字列を置き換える(replace)

package test1;

public class Test1 {
	public static void main(String[] args) {

		String str1 = "あいうーあいう";

		System.out.println(str1.replace("あ", "A")); // AいうーAいう

		System.out.println(str1.replace("あい", "A")); // AうーAう
		System.out.println(str1.replace("あ", "AB")); // ABいうーABいう
		System.out.println(str1.replace("あい", "AB")); // ABうーABう
	}
}

8行目は、指定した1文字を別の1文字に全て置き換えます。
10~12行目は、文字列で置き換えています。

https://docs.oracle.com/javase/jp/8/docs/api/java/lang/String.html#replace-java.lang.CharSequence-java.lang.CharSequence-

https://docs.oracle.com/javase/jp/8/docs/api/java/lang/String.html#replace-char-char-

指定した文字や空白を削除する(replace)

package test1;
 
public class Test1 {
	public static void main(String[] args) {
 
		String str1 = "あいうえお";
		System.out.println(str1.replace("う", "")); // あいえお
		
		// 半角空白あり(△あ△い△う△ +1△△)
		String str2 = " あ い う +1  ";
		System.out.println(str2.replace(" ", "")); // あいう+1
	}
}

7行目は、1つめの引数の文字を削除しています。
11行目は、半角スペースを削除しています。

正規表現で全ての文字を置き換える(replaceAll)

public String replaceAll(String regex,String replacement)

replaceAllは、正規表現を使用できます。

package test1;

public class Test1 {
	public static void main(String[] args) {

		String str1 = "あいうーあいう";
		String re1 = "[あう]";
		System.out.println(str1.replaceAll(re1, "a")); // aいaーaいa

		String str2 = "--12345--";
		String re2 = "[0-9]{5}";
		System.out.println(str2.replaceAll(re2, "*****")); // --*****--
	}
}

7行目の[あう]は、「あ」または「う」を意味する正規表現です。
11行目の[0-9]{5}は、数値0から9の5桁を意味する正規表現です。

https://docs.oracle.com/javase/jp/8/docs/api/java/lang/String.html#replaceAll-java.lang.String-java.lang.String-

正規表現で最初の文字を置き換える(replaceFirst)

public String replaceFirst(String regex,String replacement)

replaceFirstは、正規表現を使用できます。

package test1;
 
public class Test1 {
	public static void main(String[] args) {
 
		String str1 = "あいうーあいう";

		System.out.println(str1.replaceFirst("[あう]","a"));//aいうーあいう
	}
}

8行目は、1つ目の引数が正規表現です。[あう]は、「あ」または「う」を意味します。

https://docs.oracle.com/javase/jp/8/docs/api/java/lang/String.html#replaceFirst-java.lang.String-java.lang.String-

関連の記事

[Java] substring 文字列を切り出す
[Java] split 文字列を分割して配列にする
Java 文字列の位置を取得(indexOf/lastIndexOf)

△上に戻る