「Java」replaceAll()で置換文字列にマッチしたグループを利用する方法
説明
public String replaceAll(String regex,String replacement)
指定された正規表現に一致する、この文字列の各部分文字列に対し、指定された置換を実行します。
置換文字列内でバックスラッシュ(\)とドル記号($)を使用すると、それをリテラル置換文字列として処理した場合とは
結果が異なる場合があります。
javaコード
package com.arkgame.study; public class MatchDemo { protected static final String regexA = "([A-Z]+)([0-9]+)"; protected static final String regexB = "([a-z]+)([0-9]+)"; public static void main(String[] args) { String strA = "TEST5678abc"; String targetA = strA.replaceAll(regexA, "$0,$1,$2"); System.out.println(targetA); System.out.println("********************************"); String strB = "abcde11ef22KK"; String targetB = strB.replaceAll(regexB, "$0,$1,$2"); System.out.println(targetB); } }
実行結果
TEST5678,TEST,5678abc
********************************
abcde11,abcde,11ef22,ef,22KK