Textwellで正規表現を使い全文置換をするアクション replaceAll

山椒は小粒で。


Textwell 1.1.6
分類: 仕事効率化,ユーティリティ
価格: \300 (Sociomedia)

文字の置き換えを行う小粒アクション。正規表現が使えます。

loc=T.range.loc;
len=T.text.length;
s=T.current.search(/(.+?) (.+)/);
before=RegExp.$1;
after=RegExp.$2;
b=new RegExp(before,"mig");
text=T.text.replace(b,after);
T("replaceRange",{
  text:text,
  replacingRange:{len:len},
  selectingRange:{loc:loc}
})

登録リンクはこちら→ http://tinyurl.com/ln7tv8d
追記: 09:45 変換後語句に空白を含むことが出来るようにしました。



DraftPadのときは一行目と二行目を使って定義しましたが、文頭に戻るのが面倒なので、仕様を変更しました。カーソル行に「変換前 変換後」を空白で区切って並べます。つまり「バヌケ バスケ」と書きreplaceAllを実行すると、文中の「バヌケ」をすべて「バスケ」に変換します。思い立ったら全置換。うっかり書き間違えたときに便利ですね。



カーソル行を残したのは、変換後の語句を再利用することを想定しています。


取引先の会社名を「###」としておき、後から「### 民明書房様」と打つだけで業務連絡できるようになります。テンプレートな納品書や謝罪文を使い回したりできる。
さらに正規表現を駆使することで、それ系の用途でも無限の可能性を開いてくれます。たとえばURLアドレス行にリンクタグをつけたい場合、下記のように書いてreplaceAllを実行。もっとも、このアドレスの後ろに文章が続かず改行であることが条件ですが。

(http:.+) <a href="$1">$1</a>