複雑な変換



Nameryでは通常のメニュー選択式の変名の他に、 「コマンド」、「連続置換機能」、「正規表現」が使用できます。
それらを組み合わせて一行のマクロとして組み込めば、複雑な処理を毎回1動作で処理可能になります。

例) 処理1|処理2|処理3 ・・・(処理を | でいくつでも繋げることが出来ます)

処理カテゴリ説明
コマンド Nameryの基本処理コマンド
連番、挿入、削除などの基本処理を、スイッチ形式で指定する
連続置換 複雑な置換を連続して実行する機能
通常は置換前・置換後の文字列は1:1だが、複数:1という変換が出来るので、置換処理を細かく簡単に書くことが出来る
また、ファイル名中何度も出てくる単語を全部変換出来る
正規表現 マッチングによる置換
文字列中、特定の指定子にマッチした部分を置換する機能
パターン置換では、大文字から小文字へ、2バイトから1バイト文字へなどの変換が出来る

例えば

Namery ABC_1.txt → Namery 400-001.txt
Namely BCD 2.txt → Namery 400-002.txt
Name_1TEST_04.txt → Namery 400-004.txt
Name_TEST_03.txt → Namery 400-003.txt

という変換をしたいとします。2バイト文字やら桁揃えされていないやら色々ありそうです。

●数字を1バイトにする
まず正規表現で「tr/0-9/0-9/k」とやってみます。2バイト数字を1バイト数字に変換して

Namery ABC_1.txt
Namely BCD 2.txt
Name_1TEST_04.txt
Name_TEST_03.txt

となりました。

●数字を3桁に桁揃えする
次にやはり正規表現で「s/(\D)(\d{1})\./$1 00$2/|s/(\D)(\d{2})\./$1 0$2/」 とやりましょう

Namery ABC_ 001.txt
Namely BCD 002.txt
Name_1TEST_ 004.txt
Name_TEST_ 003.txt

桁揃えが出来、半角スペース+桁揃え後の連番になりました。

●不要な部分を削除する
ここからは色々やり方はありますが、ここでコマンドの削除機能を使って 「DC(e, )」とやってみます。これは「e」から「 」まで削除してしまうコマンドです。

Nam001.txt
Nam002.txt
Nam004.txt
Nam003.txt

●文字列を挿入する
あとは置換でも連続置換でも正規表現でも何でも出来ますが、挿入コマンドを使ってみましょう 「IN(w,m,ery 400-)」

Namery 400-001.txt
Namery 400-002.txt
Namery 400-004.txt
Namery 400-003.txt

整形できました。これらのコマンドを繋げると

tr/0-9/0-9/k|s/(\D)(\d{1})\./$1 00$2/|s/(\D)(\d{2})\./$1 0$2/|DC(e, )|IN(w,m,ery 400-)

となり、正規表現3回、コマンド2回、計5回の処理を経て変名が出来ているのがわかります。

マクロはこのように、処理を繋げていって一つの仕組みとして機能させます。


MEMO:
コマンド文字列を保存しておきたい場合は、別記の固定リストを参照して下さい。