dポイントプレゼントキャンペーン実施中!

サクラエディターを使っています。
   正規表現の使い方の勉強中ですWEBも参考させていただいているのですが
   下記のようなテキストがあるとき空白2行以上あるときこれを1行にしたいのです

コヒノール 芯ホルダー4301

木製軸 2.5mm・2mm芯ホルダー


KOH2ミリ芯ホルダー5216黒軸


木製軸でないものもある

木軸ショート/2.5ミリ芯

   宜しくお願い致します。

A 回答 (2件)

サクラエディタでは、検索条件として改行含む複数行の範囲を


指定することができません。
http://sakura.qp.land.to/?FAQ%2F2

どうしても正規表現を使った置換で対応したいのなら、一回の
置換でなく二回の置換で可能な場合もあります。

改行である\r\nを、テキスト内で使われていない記号や文字に
置き換えます(例:改行記号を★に変換するなど)。

置換前: \r\n
置換後: ★

これで質問の例文が以下のようになります。

コヒノール 芯ホルダー4301★★木製軸 2.5mm・2mm芯ホルダー★★★KOH2ミリ芯ホルダー5216黒軸★★★木製軸でないものもある★★木軸ショート/2.5ミリ芯★★

★を改行+改行にします

置換前: ★
置換後: \r\n\r\n

これで以下のような例文になります。

コヒノール 芯ホルダー4301

木製軸 2.5mm・2mm芯ホルダー

KOH2ミリ芯ホルダー5216黒軸

木製軸でないものもある

木軸ショート/2.5ミリ芯

このような空白行が常に一つあるものにするだけなら、上記
設定で問題ないですが、空白行がない改行されただけの場合、
連続した行も空白行が常に設定されてしまいます。
空白2行以上あるときのみを対象にしたい場合は、標準機能
としては無理なので、以下の方法で対応するしかありません。

http://sakura-editor.sourceforge.net/cgi-bin/cyc …

[2866] Re5: 連続する改行を一つにしたい  
▽ 2003/4/8 (火) 14:59:37 MMX
Opera/7.03 (Windows NT 5.1; U) [ja]
▼ すいさん
> 以外にありません。
if文の原料が少ないと苦しいです。
エディタの状態値(Getxxxx)は不足している。
------ 連続空白行圧縮.PPA
S_GoFileEnd(0); // ファイルの最後に移動
while True do begin
S_SearchPrev('^[ \t]*\r\n', 4); // 前を検索
if S_GetSelectedString(0) = '' then Break;
S_InsText('★'): // 置換
end;
S_ReplaceAll('^★+', '\r\n', 4); //
-------------------------------------

このマクロはPPA.DLLが必要です。
http://sakura-editor.sourceforge.net/htmlhelp/HL …
ダウンロード先の一番上にある[ DownLoad: PPA_124.LZH ]が
必要なものです。
解凍したらPpa.DLLをサクラエディタのフォルダに追加します。
----で挟まれた範囲をエディタに記載して[名前を付けて保存]で
「連続空白行圧縮.PPA」などにして、[ macro ]フォルダに保存。
テキストを開いた状態で、[ツール]→[名前を付けてマクロを実行]
で上記マクロを探し[開く]で実行します。
    • good
    • 0
この回答へのお礼

早速の回答 ありがとうございます。
  大変詳しい回答で色々なことが分かりましたが
  同時に私にはまだまだ山のように勉強しないと
  いけないとしりました。
  これからもお世話になることが多いと思いますが
  宜しくお願いしたと思います。
  

お礼日時:2013/08/11 15:38

正規表現は、ソフトによって動作に若干の違いがあるので、OKとは言い切れませんが、


^\n\n+

\n
の置換でおそらく大丈夫だと思います

ただ一度では削除できず、ヒットしなくなるまで複数回行う必要があるかも
    • good
    • 0
この回答へのお礼

早速の回答ありがとうございます。
 テストさせていただきましたがサクラエディターではだめのようです
 この後も勉強を続けたいと思いますのでこれからも宜しくお願いたします。
 ありがとうございました。

お礼日時:2013/08/11 13:28

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!