Java / Ope / 文字列操作 / 置換

Java / Ope / 文字列操作 / 置換

単純に置換する

単純に指定した文字列を指定した文字列に置換するには String::replace メソッドを使う。

String hoge = "piyo1piyo2.jpg".replace(".jpg", ".png");

replaceAll があるからといって、replace が該当箇所を全部置換しないわけではない。全部置換する。

このへんの名前がアホになっているのは歴史的経緯のせい。

正規表現で置換する

replaceAll の場合は正規表現風の文字列を指定することで置換できる

String hoge = "piyo1piyo2.jpg".replaceAll("\\.jpg$", ".png");

replaceAll は改行を行末と判断しないようだ・・・つまり行頭も判断しないようだ。 本当の先頭だけ ^ でヒット 本当の末尾だけ $ でヒットするようだ。

全角数字を半角数字に変換する

Normalizer.normalizeメソッドを使う

System.out.println(Normalizer.normalize("13456", Normalizer.Form.NFKC));
System.out.println(Normalizer.normalize("1234", Normalizer.Form.NFKC));
System.out.println(Normalizer.normalize("あ", Normalizer.Form.NFKC));

これらの結果は

13456
1234
あ

となる

java/ope/string_ope/replace.txt · 最終更新: 2021-05-14 12:32 by ore