「複数置換」の版間の差分

提供: MeryWiki
ナビゲーションに移動 検索に移動
MSY-07 (トーク | 投稿記録)
改行の修正
Noah (トーク | 投稿記録)
正規表現にちゃんと対応
14行目: 14行目:
置換文字列はテキストファイル(拡張子が「txt」のファイル)に記載するため、「置換テンプレート」フォルダにテキストファイルを作成して下さい。
置換文字列はテキストファイル(拡張子が「txt」のファイル)に記載するため、「置換テンプレート」フォルダにテキストファイルを作成して下さい。


テキストファイルのファイル名は後のポップアップメニューで表示されるタイトルになります。
また、テキストファイルの文字コードは「Shift_JIS」、Unicode(サロゲートやEmojiなど)を含む場合は「UTF-16LE (BOM付き)」にしてください(UTF-8 (BOM無し)はダメ)。
 
また、テキストファイルの文字コードは「Shift_JIS」にしてください。


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


置換ルールを複数定義したい場合はテキストファイルを複数作成してください。
正規表現が使用できます。正規表現のメタ文字はメタ文字として扱われますので注意してください。
 
例えば、実用性はさておき次のようにすると0~9の数値を削除することができます。
 
<pre>
[0-9]*@
</pre>


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


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


もし、区切り文字の「@」を置換したい場合、「複数置換.js」の区切り文字を変更して対応してください(ちゃんと対応するならエスケープ処理をするべきですが面倒なのでやってません)。
もし、区切り文字の「@」を置換したい場合、「複数置換.js」の区切り文字を変更して対応してください(ちゃんと対応するならエスケープ処理をするべきですが面倒なのでやってません)。
51行目: 56行目:


== 更新履歴 ==
== 更新履歴 ==
* 2023/09/23 正規表現にちゃんと対応
* 2019/03/03 初版
* 2019/03/03 初版

2023年9月23日 (土) 20:35時点における版

概要

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

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

ダウンロード

ファイル:MultiReplace.zip

使い方

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

次に、置換文字列を定義します。

置換文字列はテキストファイル(拡張子が「txt」のファイル)に記載するため、「置換テンプレート」フォルダにテキストファイルを作成して下さい。

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

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

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

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

①@(1)

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

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

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

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

[0-9]*@

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

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

もし、区切り文字の「@」を置換したい場合、「複数置換.js」の区切り文字を変更して対応してください(ちゃんと対応するならエスケープ処理をするべきですが面倒なのでやってません)。

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

更新履歴

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