java.text.Normalizer
クラスを使うと、全角文字や半角文字の混在した文字列を一定の規則に基いて正規化することができます。
微妙に表記の異なる文字列同士を比較するような際に使用できます。
String s = Normalizer.normalize("aaAAイイパパ1122++--..~~))}}", Normalizer.Form.NFKC);
AAAAイイパパ1122++--..~~))}}
大まかには、アルファベットや数字、記号は半角に統一され、半角カタカナは全角に統一されるという動きをします。
2文字から構成される半角カタカナの「パ」をうまく全角のカタカナ「パ」に変換するには、第2引数 (form
) に Normalizer.Form.NFKC
を指定する必要があります。