数字列に3桁ごとのカンマを追加する—Insertcomma.scpt

数字に3桁ごとにカンマを追加するという機能が、TextWrangler.appのTextコマンドの中だったらありそうな気がしたのですが、見当たりません。
これは、以外に手こずりそうな気がしました。
結局、TextWrangler.appでは、

検索:(\d{1,3})(?=(?:\d{3,3})+(?!\d))
置換:\1,

で、数字列を3桁ごとにカンマで区切ることには成功しましたが、小数点に対応していません。小数点以下の数字列にもカンマが入ってしまいます。
色々とやってはみたのですが、現時点の私の力量では、小数点以下の対処はこんな感じ。

検索:(\.\d+?),(\d+)
置換:\1\2

これを(小数点以下の桁数に応じて)数回繰り返します。
JavaScriptでも使えれば、関数を使って小数点前の数字列と文字区切り前の数字列を拾って、なんとかなりそうですが…
で、結果としてのTextWrangler.app用のスクリプトファイルは以下の通りです。編集可能なスクリプトファイルですので、自由に改変して使って下さい。

■ダウンロード
http://amstudio.sytes.net/amweb/Insertcomma.scpt.zip
※Insertcomma.scptの著作権は放棄いたしませんが、対価は不要です。自己責任で、自由にお使いください。
インターネット上のリンクは、作者への事前/事後の承諾は不要ですので、自由にリンクして下さい。
基本的に、再配布・転載は認めません。

■保証
動作に関する保証はいたしません。また、使用によって生じたと思われるいかなる損害に対しても、作者は一切責任を負い ません。使用は御自身の責任において行なってください。

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中