スポンサーリンク

正規表現で日付のYYYYMMDDをYYYY/MM/DDに手軽に変換

●問題点

 ・日付のYYYYMMDD形式をエクセルで「=MID(A1,1,4) & "/" & MID(A1,5,2) & "/" & MID(A1,7,2)」とかやってるが、もっと手軽にテキストエディタでできないものか、と思っている。

 ・(\d{4})(\d{2})(\d{2})とかのめんどいのは嫌だ。もっとサクッと簡単にして!

 

●この技マスターにより

 ・日付形式の変更はテキストエディタのみで可能。

 

●検証

 ・サクラエディタで検証済

 

以下のようなテキストの日付形式を変換する。

f:id:engineer-kiyo:20210203234616p:plain

置換前→(....)(..)(..) 

置換後→$1/$2/$3

f:id:engineer-kiyo:20210203234809p:plain

↓置換後

f:id:engineer-kiyo:20210203234838p:plain

はい、この通りお手軽に日付形式を変換できます。

YYYY-MM-DDにしたいなら、「$1-$2-$3」に置換

DD/MM/YYYYにしたいなら、「$3/$2/$1」に置換

他にもいろいろ応用できるでしょう。

エクセルを持ち出して変換するよりも早いです。

 

正規表現解説

「.」(ドット)は任意の1文字を表すので(....)で最初の4文字を変数$1にキャプチャ

次の(..)で5,6文字目を変数$2にキャプチャ。

次の(..)で7,8文字目を変数$3にキャプチャ。

 

キャプチャできたらあとは並べ替えたりは自由自在!

この単純さなら置換前文字列を手入力するのも全然苦になりません。 

 

キャプチャの仕組みを使ってますが、詳しいことは以下の書籍で勉強しましょう!!非常にお勧め!

はじめての正規表現 for Web Creator Kindle版