複数置換

提供: MeryWiki
ナビゲーションに移動 検索に移動

概要[編集]

一度に複数の置換処理を行うマクロです。

置換前の文字列と置換後の文字列はテキストファイルに記載しておき、そのルールに従い置換を行います。

例えば、同封されている「機種依存文字を置換」を実行すると下記のように①・②・③を(1)・(2)・(3)にまとめて置換します。

置換前

①テスト1
②テスト2
③テスト3

置換後

(1)テスト1
(2)テスト2
(3)テスト3

よく行う置換処理をあらかじめ記載しておくことで、置換ダイアログを開かなくても置換が行えます。

ダウンロード[編集]

ファイル:MultiReplace.zip

使い方[編集]

ダウンロードしたファイルを解凍すると「複数置換.js」と「置換テンプレート」フォルダがありますので、これらをMacrosフォルダ内に配置してください。

Mery
└Macros
 ├複数置換.js
 └置換テンプレート

次に、どのように置換するかをテキストファイルに定義します。

置換ルールを追加する場合は「置換テンプレート」フォルダに新しくテキストファイル(拡張子が「txt」のファイル)を作成して下さい。

また、テキストファイルの文字コードは「Shift_JIS」、Unicode(サロゲートやEmojiなど)を含む場合は「UTF-16LE (BOM付き)」にしてください(UTF-8 (BOM無し)はダメ)。

次にテキストファイルに置換前の文字列と置換後の文字列を「@」マークで区切り下記のフォーマットで記載してください。

置換前の文字列@置換後の文字列

例えば、①を(1)に置換したい場合は下記になります。

①@(1)

②を(2)、③を(3)に一度に置換したい場合、改行で区切ってください。

①@(1)
②@(2)
③@(3)

正規表現が使用できます。正規表現のメタ文字はメタ文字として扱われますので注意してください。

例えば、(1)を①に置換した場合、下記になります。

※(, ) はメタ文字なため、「\」でエスケープする必要があります。

\(1\)@①

例えば、実用性はさておき次のようにすると0~9の数値を削除することができます。

[0-9]*@

これらの作業後、マクロを実行するとポップアップメニューが表示されます。 ポップアップのメニュー名はテキストファイルのファイル名になります。

置換したいテンプレートファイルを選択すると、テキストファイルに記載されたルールに従い置換を行います。

もし、区切り文字の「@」を置換したい場合、「複数置換.js」の区切り文字を変更して対応してください。

// 区切り文字
var separator = "@"; // ← ここを変更

変更履歴[編集]

  • 1.0.1 (2023-09-23)
    • 正規表現にちゃんと対応
  • 1.0.0 (2019-03-03)
    • 初版
スポンサーリンク