1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

サクラエディタ:JavaScriptでマクロ実装(置換編)

Last updated at Posted at 2019-08-03

#サクラエディタ: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));
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?