トランの毎日迷宮

Tech系ブログを目指すもの

【正規表現】文字列の置換【サクラエディター】

1つ前の記事でSQLのinsertの話をしたんですが

その時にエクセルのドラッグで数増やしてくアレ(名前はしらない)CSVファイル作って大量にデータ作れないかと思って
"into BKMASTER(ID,TITLE,PRICE) VALUES(",1,ab,500,)
"into BKMASTER(ID,TITLE,PRICE) VALUES(",2,cd,600,)
"into BKMASTER(ID,TITLE,PRICE) VALUES(",3,ab,700,)
"into BKMASTER(ID,TITLE,PRICE) VALUES(",4,cd,800,)
"into BKMASTER(ID,TITLE,PRICE) VALUES(",5,ab,900,)
"into BKMASTER(ID,TITLE,PRICE) VALUES(",6,cd,1000,)
と、直球なCSVが吐き出されたわけです。

なんかへんなとこににダブルクウォーテーションあったりいらないカンマがいたり

やばいですね。タイトルに入れたい文字リテラルシングルクウォーテーションないし。。。

そこで、そうだ!チカンをしよう!としようと思いました。

ああ、痴漢じゃないですよ。文字列の置換ですよ。

と、冗談はさておき、本題へ上記をサクラエディタで置換するとき

カッコの近くのカンマとかダブルクウォーテーションは

検索 ,)

置換 )とかにしていけば正規表現して消していけるわけなんですよ。

問題はシングルクウォーテーションの付加です。

確か正規表現ってやつが役に立つはずと思って調べていたら見つけました。

f:id:trantran1021:20180522005322j:plain

こんな感じで置換前にカンマピリオドピリオドカンマと入力すると

カンマに挟まれたなんかしら2文字が該当するわけです。

オッシャーとおもって置換後に’,..,’打ったら

f:id:trantran1021:20180522005638j:plain

ぐふっ。こんなはずでは、、、調べてみると1個解決案発見。

f:id:trantran1021:20180522010053j:plain

これは()でピリオドを二つ囲ったことにより$1に変数としてその部分が格納させて置換後のほうでその変数を使ってしまおうということらしい。

すげー!目的達成!