サクラエディタで改行、空白行を削除する方法(正規表現)

このサイトを検索 | Search this site
sakura.png

サクラエディタを利用して空白行を削除する方法をメモしています。

数百行のテキストファイルから空白行のみ削除したい時にお役に立てる情報です。

空白行とは、
行頭に改行のみ存在する行です。

改行コード


サクラエディタ

SDI: Single Document Interface

「サクラエディタ」はMicrosoft Windowsで動作する、オープンソースで開発されている日本語テキストエディターです。

フリーで利用することができるテキストエディターで、Windowsに付属するNotepad(メモ帳)と同じカテゴリーのソフトウェアです。

文書毎にウィンドウが開くSDIを採用していますが、タブバー設定を有効にするとタブ型テキストエディターとして動作させることができます。

改行だけの行を削除する方法

改行コードは通常の方法では削除できないので正規表現を利用します。

[手順]
  1. 置換ダイアログを起動する
  2. 正規表現にチェックを入れる
  3. 置換前の横のボックスに改行を表すコード [\r\n] を入力する
  4. 置換後の横のボックスは空白にする
  5. すべて置換をクリックする
  6. 終了

置換ダイアログ
置換ダイアログはメニューバーまたはキーボードショートカットから表示することができます。
  • 検索 > 置換
  • CtrlR

Search-Replace
置換オプション
置換ダイアログの「☑ 正規表現」にチェックを入れます。

以下は置換オプションの一例です。

オプション
置換前^\r\n
置換後null(空白)
正規表現ON
置換対象選択文字
範囲ファイル全体
Replace_regex

改行コード

サクラエディタ > タイプ別設定 > ウィンドウ > 入力モード > デフォルトの文字コード > 改行コード

改行記号はタイプ別設定で指定した改行コードに対応しています。

正規表現を利用するときは開いているファイルの改行コードに合わせて置換前の表現を記述します。

タイプ別設定ーウィンドウー改行コード

OS別改行コード

OS 改行コード サクラエディタの表示
Unix LF \n
Mac(OSX) LF \n
Mac(OS9) CR \r
Windows CR+LF \r\n

正規表現

サクラエディタで正規表現を利用するには「bregonig.dll」をインストールします。

チェック1
正規表現のチェックボックスの下に正規表現ライブラリ bregonig.dll のバージョン表示がない場合は、bregonig.dll が認識されていません。

sakura.exe (サクラエディタ) のあるフォルダを開いて bregonig.dll が存在するか確認しましょう。
チェック2
bregonig.dll が存在しない時は文末リンクから bregonig.dll をダウンロードしましょう。

bregonig.dll は sakura.exe と同じフォルダに配置します。必要なのは bregonig.dll だけです。

bregonig.dll が存在するのにバージョン表示されない時は、最新の bregonig.dll に置き換えると問題が解決する場合があります。

その他の正規表現

出典:サクラエディタBBS

変換置換前置換後
スペース/タブだけの行からスペース/タブを削除し空行にする^[ \t]+([\r\n])$1 
スペース/タブだけの行を削除する^[ \t]+[\r\n]+null(空白) 
何も無い空行を削除する^[\r\n]+null(空白) 
何も無い空行、またはスペース/タブのみの行を削除する^[ \t]*[\r\n]+null(空白)

マクロ機能の活用

サクラエディタのマクロ機能を利用する方法。

実行手順のマクロ化
  1. [Ctrl]+[Shift]+[M] でマクロ記録開始する(タイトルバーを見て記録中なのを確認)
  2. 使いたい置換作業を1回やる
    ※この時に「範囲」を「選択範囲」にしておくと後々使いやすくなる
  3. もう一度 [Ctrl]+[Shift]+[M] でマクロの記録終了
  4. [Ctrl]+[M] でマクロをファイルとして保存する
マクロファイルの登録方法
  • 共通設定 >マクロ に登録(一旦、共通設定を [OK] で閉じる)
  • 共通設定 >カスタムメニュー で 右クリックメニュー に登録


マクロ作成時に「範囲」を「選択範囲」にしておくと、マクロ実行時に以下の動作となります。
  • 範囲選択してからマクロを実行する: 選択範囲にのみ処理される
  • 範囲選択しないでマクロを実行する: ファイル全体に対して処理される

あとがき

サクラエディタの本拠地はSourceForge.netからGitHubに移転したので、SourceForge.netは更新されません。

SourceForge.netはGimp for Windowsでやらかしたのでサクラエディタ以外のソフトウェアでもSourceForge.netから別のリポジトリへ移転する事例が見られます。

移転先としてはマイクロソフトがオーナーとなったGitHubが人気があるようです。

SourceForge.netのやらかした事例は外部リンクに貼ってます。

sakura2 at SourceForge.net
https://sourceforge.net/projects/sakura-editor/files/sakura2/

サクラエディタBBS
http://sakura-editor.sourceforge.net/cgi-bin/cyclamen/cyclamen.cgi?ol=200212&tree=c2615
検証:サクラエディタ 2.3.2.0, bregonig.dll 4.1.2
Windows 10 Pro May 2019 Update, v1903.18362.239
SC2
Windowsランキング 将棋ランキング スマホ・携帯ランキング にほんブログ村 IT技術ブログ ライフハックへ にほんブログ村 その他趣味ブログ 将棋へ

このサイトを検索 | Search this site