「テキスト整形」の版間の差分

Masme (トーク | 投稿記録)
コマンド追加2個・変更3(+3)個。
Masme (トーク | 投稿記録)
コマンド追加2個・修正3個。
18行目: 18行目:


=スターターパック=
=スターターパック=
ダウンロード→ [[メディア:テキスト整形.zip|テキスト整形.zip]] (2014/03/01 更新)
ダウンロード→ [[メディア:テキスト整形.zip|テキスト整形.zip]] (2014/03/08 更新)
* 基本コード と [[#拡張コード|拡張コード]](★印の項目) をまとめて、すぐ使えるようにしてあります。<br>[[ファイル:テキスト整形.zip]] のページに収録コマンド一覧が掲載されています。
* 基本コード と [[#拡張コード|拡張コード]](★印の項目) をまとめて、すぐ使えるようにしてあります。<br>[[ファイル:テキスト整形.zip]] のページに収録コマンド一覧が掲載されています。
* 拙作ですがアイコンファイルを同梱してあります。<br>Mery の My Macros フォルダにアイコンファイル (テキスト整形.ico) を配置すれば、ツールバーにアイコンが読み込まれます。
* 拙作ですがアイコンファイルを同梱してあります。<br>Mery の My Macros フォルダにアイコンファイル (テキスト整形.ico) を配置すれば、ツールバーにアイコンが読み込まれます。
25行目: 25行目:
[[ファイル:テキスト整形.zip]]
[[ファイル:テキスト整形.zip]]
<div style="height:30em; overflow:auto; border:1px dashed #999;">
<div style="height:30em; overflow:auto; border:1px dashed #999;">
* <b>2014/03/08</b>
** コマンド追加 - 選択文字列を検索/選択文字列をすべて削除
** コマンド修正 - ★全角英数を検索/★半角カナを検索/★CJK漢字を検索
**: 前ではなく次を検索するように変更。念の為「大文字と小文字を区別」フラグをオンにした。
* <b>2014/03/01</b>
* <b>2014/03/01</b>
** コマンド追加 - ★連続する!?を整形/★全角ダッシュ(――)に整形
** コマンド追加 - ★連続する!?を整形/★全角ダッシュ(――)に整形
297行目: 301行目:
</source>
</source>


;★実体参照変換
;★実体参照 &"<> ⇒ &xxx;/★実体参照 &xxx; ⇒ ␣><"&
:HTML で使用される文字実体参照の変換を行います。
:HTML で使用される文字実体参照の変換を行います。
:{| class="wikitable"
:{| class="wikitable"
343行目: 347行目:
</source>
</source>


;編集中のファイル / 全ファイルのパスをコピー
;編集中のファイルのパスをコピー/編集中の全ファイルのパスをコピー
:現在編集中のファイルの絶対パスをクリップボードにコピーします。
:現在編集中のファイルの絶対パスをクリップボードにコピーします。
:新規作成ファイルなどパスが存在しない場合は、無題 の2文字がコピーされます。
:新規作成ファイルなどパスが存在しない場合は、無題 の2文字がコピーされます。
376行目: 380行目:
</source>
</source>


==検索==
==検索/置換==


;★全角英数を検索
;★全角英数を検索
382行目: 386行目:
<source lang="javascript">
<source lang="javascript">
f.push(["全角英数を検索","F",function(a){
f.push(["全角英数を検索","F",function(a){
   a.Find("[0-9A-Za-z]",meFindAround+meFindReplaceRegExp) }]);
   a.Find("[0-9A-Za-z]",meFindReplaceRegExp+meFindReplaceCase+meFindNext+meFindAround) }]);
</source>
</source>
;★半角カナを検索
;★半角カナを検索
388行目: 392行目:
<source lang="javascript">
<source lang="javascript">
f.push(["半角カナを検索","F",function(a){
f.push(["半角カナを検索","F",function(a){
   a.Find("[。-゚]",meFindAround+meFindReplaceRegExp) }]);
   a.Find("[。-゚]",meFindReplaceRegExp+meFindReplaceCase+meFindNext+meFindAround) }]);
</source>
</source>
;★CJK漢字を検索
;★CJK漢字を検索
394行目: 398行目:
<source lang="javascript">
<source lang="javascript">
f.push(["CJK漢字を検索","F",function(a){
f.push(["CJK漢字を検索","F",function(a){
   a.Find("\\p{Han}",meFindAround+meFindReplaceRegExp) }]);
   a.Find("\\p{Han}",meFindReplaceRegExp+meFindReplaceCase+meFindNext+meFindAround) }]);
</source>
 
;選択文字列を検索
:「検索する文字列」に選択文字列を設定して「次/下を検索」します。
:<span style="color:#c00;">※仕様上、複数行=改行をまたぐ場合は検索文字列が強調されません。</span>
<source lang="javascript" style="overflow:auto;">
f.push(["選択文字列を検索","F",function(a){
  if(a.Text)a.Find(a.Text.replace(/([!$()*+./:=?[\\\]^{|}])/g,"\\$1"),"",meFindReplaceRegExp+meFindReplaceCase+meFindNext+meFindAround) }]);
</source>
;選択文字列をすべて削除
:「検索する文字列」に選択文字列を、「置換後の文字列」に空欄を設定して「すべて置換」します。
:<span style="color:#c00;">※検索文字列の強調が変更されます。仕様上、複数行=改行をまたぐ場合は検索文字列が強調されません。</span>
<source lang="javascript" style="overflow:auto;">
f.push(["選択文字列をすべて削除","F",function(a){
  if(a.Text)a.Replace(a.Text.replace(/([!$()*+./:=?[\\\]^{|}])/g,"\\$1"),"",meFindReplaceRegExp+meFindReplaceCase+meReplaceAll) }]);
</source>
</source>


406行目: 425行目:
==挿入/貼付==
==挿入/貼付==


;★半角/全角の / 半角英数/全角の間を空ける
;★半角/全角の間を空ける/★半角英数/全角の間を空ける
:半角文字/半角英数と全角文字の間に半角空白を挿入します。
:半角文字/半角英数と全角文字の間に半角空白を挿入します。
:※ここでは、半角文字=ASCII文字+半角カナ、全角文字=それ以外の文字、を意味しています。
:※ここでは、半角文字=ASCII文字+半角カナ、全角文字=それ以外の文字、を意味しています。
431行目: 450行目:
</source>
</source>


;★各行行頭 / 各行行末に貼り付け
;★各行行頭/各行行末に貼り付け
:クリップボードにコピーされた文字列を、各行の行頭/行末に貼り付けます。
:クリップボードにコピーされた文字列を、各行の行頭/行末に貼り付けます。
<source lang="javascript">
<source lang="javascript">
439行目: 458行目:
   return a+ClipboardData.GetData().replace(/(\r\n|\r|\n)$/,"") }]);
   return a+ClipboardData.GetData().replace(/(\r\n|\r|\n)$/,"") }]);
</source>
</source>
;★各行行頭 / 各行行末に文字列付加 (移植)
;★各行行頭/各行行末に文字列付加 (移植)
:入力した文字列を、各行の行頭/行末に追加します。
:入力した文字列を、各行の行頭/行末に追加します。
<source lang="javascript" style="overflow:auto;">
<source lang="javascript" style="overflow:auto;">
447行目: 466行目:
   var c=null; return function(a){ if(!c){ if(!(c=Prompt("各行行末に付加する文字列:",""))){Quit()} } return a+c } })()]);
   var c=null; return function(a){ if(!c){ if(!(c=Prompt("各行行末に付加する文字列:",""))){Quit()} } return a+c } })()]);
</source>
</source>
;各行先頭 / 各行末尾に文字列付加 (矩形対応/Mery 2.1.0~)
;各行先頭/各行末尾に文字列付加 (矩形対応/Mery 2.1.0~)
:入力した文字列を、各行の先頭/末尾に追加します。
:入力した文字列を、各行の先頭/末尾に追加します。
:<span style="color:#c00;">※矩形置換するには Mery のバージョンが 2.1.0 以上である必要があります。</span>
:<span style="color:#c00;">※矩形置換するには Mery のバージョンが 2.1.0 以上である必要があります。</span>
486行目: 505行目:
</source>
</source>


;★入力文字列を含む行 / 含まない行を削除 (移植)
;★入力文字列を含む行/含まない行を削除 (移植)
<source lang="javascript" style="overflow:auto;">
<source lang="javascript" style="overflow:auto;">
f.push(["入力文字列を含む行を削除","RM",(function(a){
f.push(["入力文字列を含む行を削除","RM",(function(a){
493行目: 512行目:
   var c=null; return function(a){ if(!c){ if(!(c=Prompt("以下の文字列を含まない行を削除:",""))){Quit()} } return (a.indexOf(c)>=0)? a:null } })()]);
   var c=null; return function(a){ if(!c){ if(!(c=Prompt("以下の文字列を含まない行を削除:",""))){Quit()} } return (a.indexOf(c)>=0)? a:null } })()]);
</source>
</source>
;★正規表現に一致する行 / 一致しない行を削除 (移植)
;★正規表現に一致する行/一致しない行を削除 (移植)
<source lang="javascript" style="overflow:auto;">
<source lang="javascript" style="overflow:auto;">
f.push(["正規表現に一致する行を削除","RM",(function(a){
f.push(["正規表現に一致する行を削除","RM",(function(a){
510行目: 529行目:
==並べ替え==
==並べ替え==


;行の並べ替え(Unicode 昇順 / 降順) (移植)
;行の並べ替え(Unicode 昇順/降順) (移植)
:行をUnicode順で並べ替えます。
:行をUnicode順で並べ替えます。
:※より柔軟に並べ替えたい場合は「[[行並べ替え]]」マクロの導入をオススメします。
:※より柔軟に並べ替えたい場合は「[[行並べ替え]]」マクロの導入をオススメします。
531行目: 550行目:
==字種/数値変換==
==字種/数値変換==


;小文字に変換 / 大文字に変換
;小文字に変換/大文字に変換
:Mery の「選択範囲の変換」機能の一部を再現したものです。
:Mery の「選択範囲の変換」機能の一部を再現したものです。
<source lang="javascript">
<source lang="javascript">
539行目: 558行目:
   a.ChangeCase(meCaseUpperCase) }]);
   a.ChangeCase(meCaseUpperCase) }]);
</source>
</source>
;半角に変換 / 全角に変換
;半角に変換/全角に変換
:Mery の「選択範囲の変換」機能の一部を再現したものです。
:Mery の「選択範囲の変換」機能の一部を再現したものです。
<source lang="javascript">
<source lang="javascript">
548行目: 567行目:
</source>
</source>


;★半角英数⇒全角 / 全角英数⇒半角 (移植)
;★半角英数⇒全角/★全角英数⇒半角 (移植)
<source lang="javascript" style="overflow:auto;">
<source lang="javascript" style="overflow:auto;">
f.push(["半角英数→全角","R",function(a){
f.push(["半角英数→全角","R",function(a){
555行目: 574行目:
   return a.replace(/[0-9A-Za-z]/g,function(s){return String.fromCharCode(s.charCodeAt(0)-0xFEE0)}) }]);
   return a.replace(/[0-9A-Za-z]/g,function(s){return String.fromCharCode(s.charCodeAt(0)-0xFEE0)}) }]);
</source>
</source>
;★半角カナ⇒全角 / 全角カナ⇒半角
;★半角カナ⇒全角/★全角カナ⇒半角
<source lang="javascript" style="overflow:auto;">
<source lang="javascript" style="overflow:auto;">
f.push(["半角カナ→全角","CR",function(a){
f.push(["半角カナ→全角","CR",function(a){
563行目: 582行目:
</source>
</source>


;★全角かな⇒カナ / 全角カナ⇒かな
;★全角かな⇒カナ/★全角カナ⇒かな
:全角ひらがなと全角カタカナを変換します。ただし、ヴヵヶ → ゔゕゖ の変換は行いません(ゔゕゖ の3文字が Shift_JIS では保存できないため)。
:全角ひらがなと全角カタカナを変換します。ただし、ヴヵヶ → ゔゕゖ の変換は行いません(ゔゕゖ の3文字が Shift_JIS では保存できないため)。
<source lang="javascript" style="overflow:auto;">
<source lang="javascript" style="overflow:auto;">
603行目: 622行目:
</source>
</source>


;丸数字 ⑳ ⇒ (20) / (20) ⇒ ⑳
;丸数字 ⑳ ⇒ (20)/丸数字 (20) ⇒ ⑳
:丸付き数字 ①~⑳ と (1)~(20) を変換します。(01)~(09) も変換対象に含まれます。
:丸付き数字 ①~⑳ と (1)~(20) を変換します。(01)~(09) も変換対象に含まれます。
<source lang="javascript" style="overflow:auto;">
<source lang="javascript" style="overflow:auto;">
629行目: 648行目:
==符号化/復号化==
==符号化/復号化==


;URL %エンコード / デコード(UTF-8)
;URL %エンコード/デコード(UTF-8)
:URL アドレスに使用される UTF-8 パーセントエンコーディングの符号化/復号化を行います。
:URL アドレスに使用される UTF-8 パーセントエンコーディングの符号化/復号化を行います。
<source lang="javascript">
<source lang="javascript">
スポンサーリンク