java 正規表現にマッチした全ての文字列を変換する

java 正規表現にマッチした全ての文字列を変換する

javaで、正規表現にマッチした全ての文字列を変換する手順を記述してます。

環境

  • OS windows11 home
  • java 17.0.2

手順

正規表現にマッチした全ての文字列を変換するには、「replaceAll​」で可能です。

文字列.replaceAll​("正規表現",置換する文字列)

実際に、使用してみます。

public class App {
    public static void main(String[] args) throws Exception {
        
        String str1 = "0123456";
        String str2 = "a123456";
        String str3 = "a";
        String regex = "[0-9]"; // 数字の0~9

        System.out.println(str1.replaceAll(regex,"A"));  // AAAAAAA
        System.out.println(str2.replaceAll(regex,"A"));  // aAAAAAA
        System.out.println(str3.replaceAll(regex,"A"));  // a

    }
}

マッチする場合は、変換されていることが確認できます。

最初にマッチしたもののみ

最初にマッチしたもののみを変換する場合は、「replaceFirst」を使用します。

public class App {
    public static void main(String[] args) throws Exception {
        
        String str1 = "0123456";
        String str2 = "a123456";
        String str3 = "a";
        String regex = "[0-9]";

        System.out.println(str1.replaceFirst(regex,"A"));  // A123456
        System.out.println(str2.replaceFirst(regex,"A"));  // aA23456
        System.out.println(str3.replaceFirst(regex,"A"));  // a

    }
}