目次
JavaはStringクラスに正規表現置換のメソッドが搭載されているため、
特別なインポートを行わなくても正規表現置換を行うことができます。
日付のフォーマット
今回は正規表現置換の例として、日付のフォーマットを行います。
こちらが置換前の文字です。
19850326123456
この文字列を下記のように置換します。
1985/03/26 12:34:56
いわゆる、日付のフォーマットの変換というものです。
正規表現置換の実装
これを実現するためのJavaのコードはこちらになります。
package regex_test; public class RegexTest { public static void main(String[] args) { String aaa = "19850326123456"; String bbb = aaa.replaceAll("(\\d{4})(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1/$2/$3 $4:$5:$6"); System.out.println(bbb); } }
実行するとこのような結果になります。
確かに、日付フォーマットの変換を行うことができました。
解説
6行目でString型の変数aaaに14桁の数字を代入します。
8行目、aaa.replaceAllというメソッドを呼び出すことで、正規表現置換を行っています。
replaceAllメソッドには置換前文字列と置換後文字列を引数に指定します。
変数aaaの値が、置換前「(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})」にマッチする場合、
置換後文字列「$1/$2/$3 $4:$5:$6」に置換します。
上記の置換にはキャプチャを使用しています。
キャプチャについては、こちらの記事で解説しています。→正規表現置換の考え方
10行目は8行目の処理の戻り値bbbをコンソールに出力する処理です。
まとめ
今回はJavaで正規表現置換を行う方法について解説しました。
本ブログでは、正規表現を日々の開発業務に活かす方法について発信しておりますので、
よろしければご覧ください。
Javaの開発においても役に立つはずです。
正規表現についての別記事についてもご覧ください!
★検索
パスワードの正規表現の考え方
「~を含まない行」を検索する方法
「~を含む行」を検索する方法
「~で終わる」を検索する方法
「~で始まる」を検索する方法
正規表現繰り返しの考え方
最短一致検索を行う方法
否定の文字クラス
「または」検索を行う方法
環境による「\d」の動作の違いについて検証
★置換
正規表現置換の考え方
大文字⇔小文字変換を行う方法
キャメルケース⇔スネークケース変換を行う方法
CSVを囲みなし⇒囲みありに変換する方法
CSVファイルの特定のカンマ以降を削除する方法
CSVファイルの必要な箇所だけ残す方法
数字3ケタおきにカンマを挿入する方法
正規表現置換で不要な行を削除し、必要な行だけ残す方法
数字を0埋めする方法
0埋めされた数字を0埋めなしに変換する方法
ファイル名から、拡張子のみを抽出する方法
Javaで正規表現置換を行う方法
また、Udemyという動画教育プラットフォームで動画解説を行っております。
動きを確認しながら丁寧に学習したいという方は、ぜひご覧ください!
コメント