◀一般トップへ
  • 8213 改行について
    • 8214 Re:改行について
  • [8213] 改行について アール 2016年12月28日 11:28

    サクラエディタを使って

    1@AAA
    2@BBB
    3@CCC
    4@DDD

     省略

    100@ZZZ

    みたいな文を、

    1@AAA


    2@BBB

    このように間に改行を2つ入れる事はマクロで可能ですか?
    初歩的な事で申し訳ないです。
    • [8214] Re:改行について 774 2016年12月28日 19:01

      置換ダイアログを開いて「正規表現(E)」にチェックを入れて
      $ を \r\n\r\n に置換するのが一番簡単です。

      *チェックが入らないなら正規表現DLL(bregonig.dllか BREGEXP.DLL)
      をエディタと同じフォルダにコピーするとできるようになります。
      *置換する対象を選択した範囲内に限定することも(通常の手順で)できます。
      *「正規表現(E)」にチェックを入れると(望まなくても) $ や \r\n 以外にも
      見た目と実際の文字が異なる特殊な記法が有効になります。
      余力があればこちらをどうぞ。
      ♦正規表現の概説
      <https://msdn.microsoft.com/ja-jp/library/cc427946.aspx>
      &#9830;正規表現 - SakuraEditorWiki
      <http://sakura.qp.land.to/?%C0%B5%B5%AC%C9%BD%B8%BD>

      マクロにこだわるならたとえば次のような内容で拡張子が .js のファイルを
      マクロとして登録します。(ファイルの文字コードはシフトJISで)

      var selected = Editor.GetSelectedString(0);
      if (! selected) {
      Editor.SelectAll();
      selected = Editor.GetSelectedString(0);
      }
      var replaced = selected.replace(/(\r\n?|\n)/g, "$1$1$1");
      if (selected == Editor.GetSelectedString(0)) {
      Editor.InsText(replaced);
      }

      これも対象を選択範囲に限定して実行できます。