#サクラエディタ:JavaScriptでマクロ実装(置換編)
##選択されている部分を置換します。
###下記サンプルコードは選択されている部分を【選択されていた文字を置換しました。】に置換するものになります。
replace.js
function sakuraReplace(str00) {
return str00.replace(/^.*$/,'【選択されていた文字を置換しました。】',6);
}
var str00 = Editor.GetSelectedString(0);
if ( str00 !== "" ) Editor.InsText(sakuraReplace(str00));
###使用しているサクラエディタマクロ関数の説明になります。
-
function GetSelectedString(int1 :Integer):String
- 選択部分全体を返します。未選択の時は空文字列を返します。
- 改行コードなども含めて選択範囲の文字列をそのまま取得します。
- 複数行の取得も可能です。
-
function InsText(str1 :String);
- str1の文字列をを貼り付けます。
-
function replace(str1 :String,str2 :String,int3 :Integer)
- str1:検索文字列
- str2:置換文字列
- int3:置換オプション
- ここでは6を設定しています。以下の2と4を足した6を設定しています。
- 0x002 英大文字と小文字を区別する
- 0x004 正規表現
###サンプルコードを少し改造してみます。選択されている検索文字列が『あ』で始まる場合に限り選択されている部分を【選択されていた文字を置換しました。】に置換するものになります。
replace.js
function sakuraReplace(str00) {
return str00.replace(/^あ.*$/,'【選択されていた文字を置換しました。】',6);
}
var str00 = Editor.GetSelectedString(0);
if ( str00 !== "" ) Editor.InsText(sakuraReplace(str00));
###サンプルコードをさらに改造してみます。選択されている検索文字列が『あ』で始まり、『お』で終わる場合に限り選択されている部分を【選択されていた文字を置換しました。】に置換するものになります。
replace.js
function sakuraReplace(str00) {
return str00.replace(/^あ.*お$/,'【選択されていた文字を置換しました。】',6);
}
var str00 = Editor.GetSelectedString(0);
if ( str00 !== "" ) Editor.InsText(sakuraReplace(str00));