|
マクロを使うと、目的の場所を取得してからのrightstrなど、いろいろ方法はあると
思います。
正規表現だけでやるとしたら、Google検索とかしてみたら、以下のようなページのや
り方がありました。
https://qiita.com/officemove/items/0b54d28e7db236cc7cab
$1$2というタグを使っていますが、秀丸エディタの場合は\1\2になります。
数字だけで空白4桁埋めの例:
1回目
検索文字列「(\d+)」
置換文字列「 \1」
2回目
検索文字列「 *([ \d]{4,})」
置換文字列「\1」
範囲を絞って検索したり置換したりする方法はだんだん増えてきたので、最近のヘル
プでは「目次− コマンド− 検索系コマンド− いろいろな検索例− 特定の範囲内だ
けで検索したい場合」に幾つかのやり方を書いています。
特定のカラムだけ対象にするには、以前はカラーマーカーを付けてから、追加の条件
でカラーマーカーを指定する方法がありました。
最近のバージョンでは、範囲選択してから検索や置換ダイアログの「選択した範囲」
をONにして「文字単位」にする方法もあります。範囲選択の場合は何回も選択する必
要があります。
マクロにすると以下のような感じです。
範囲選択の文字単位の場合はsettargetcolormarkerをしないといけない問題がありま
した。また修正します。
//カラーマーカーの例
setcompatiblemode 0x00120000;
$layer = "test";
disabledraw;
selectcolumn;
colormarker 0xff,-1,-1,0,0,$layer;
settargetcolormarker $layer;
replaceallfast @"(\d+)",@" \1",regular,incolormarker;
replaceallfast @" *([ \d]{4,})",@"\1",regular,incolormarker;
deletecolormarkerall $layer;
endmacro;
//範囲選択の例
setcompatiblemode 0x00120000;
#a=tabcolumn;
disabledraw;
selectcolumn #a,#a;
settargetcolormarker "\x01#inselect2";//本来不要だけどバグのため必要
replaceallfast @"(\d+)",@" \1",regular,inselect2;
selectcolumn #a,#a;
replaceallfast @" *([ \d]{4,})",@"\1",regular,inselect2;
selectcolumn #a,#a;
escape;
escapeinselect;
endmacro;
|
|