「テキスト整形」の版間の差分
コマンド追加2個・変更3(+3)個。 |
コマンド追加2個・修正3個。 |
||
| 18行目: | 18行目: | ||
=スターターパック= | =スターターパック= | ||
ダウンロード→ [[メディア:テキスト整形.zip|テキスト整形.zip]] (2014/03/ | ダウンロード→ [[メディア:テキスト整形.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 | 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 | 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~) | ||
:入力した文字列を、各行の先頭/末尾に追加します。 | :入力した文字列を、各行の先頭/末尾に追加します。 | ||
:<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) ⇒ ⑳ | ||
:丸付き数字 ①~⑳ と (1)~(20) を変換します。(01)~(09) も変換対象に含まれます。 | :丸付き数字 ①~⑳ と (1)~(20) を変換します。(01)~(09) も変換対象に含まれます。 | ||
<source lang="javascript" style="overflow:auto;"> | <source lang="javascript" style="overflow:auto;"> | ||
| 629行目: | 648行目: | ||
==符号化/復号化== | ==符号化/復号化== | ||
;URL % | ;URL %エンコード/デコード(UTF-8) | ||
:URL アドレスに使用される UTF-8 パーセントエンコーディングの符号化/復号化を行います。 | :URL アドレスに使用される UTF-8 パーセントエンコーディングの符号化/復号化を行います。 | ||
<source lang="javascript"> | <source lang="javascript"> | ||
スポンサーリンク