2回以上の改行のみの行削除No.08164
tm2016 さん 16/08/04 23:59
 
‐‐‐











‐‐‐‐

 ↓

‐‐‐






‐‐‐‐

上記のように2回以上改行のみの行を削除し、間の改行は1回にしたいと考えています。

自分で作ってみたのがこちらです。
replaceall "^\\n{2,}", "" ,regular;

しかしこれだと間の改行数が偶数だとうまくいきません。
どのようにすればよろしいでしょうか。
ご教授の程よろしく願います。

[ ]
RE:08164 2回以上の改行のみの行削除No.08166
K'zawa さん 16/08/05 17:51
 
tm2016さん、こんにちは。
K'zawaです。

いろいろなやり方があると思いますが、下記ではどうでしょうか?

replaceallfast "^\\n(?=\\n)", "", regular;

[ ]
RE:08166 2回以上の改行のみの行削除No.08167
秀まるお2 さん 16/08/05 18:18
 
 K'zawaさんのやり方でもいいと思いますが、tm2016さんのやり方でうまくいか
ない理由は、秀丸エディタの検索での改行のヒット個数について制限があるから
です。

 制限は、(?#maxlines:nn)を使うと解除出来ますが、上限は発生します。

 とりあえず、

    replaceall "(?#maxlines:30)^\\n{2,}", "\\n" ,regular;

 みたいな感じで置換できると思います。

 詳しくは、ヘルプの検索でmaxlinesを探すと出てくる

    \nを使った複数行検索の際の制限について

 って所が参考になります。

[ ]
RE:08167 2回以上の改行のみの行削除No.08177
tm2016 さん 16/08/10 21:48
 
> K'zawaさんのやり方でもいいと思いますが、tm2016さんのやり方でうまくいか
≪全文引用されていたのでコミュニテックス会議室システムが引用部分を省略処理し
ました。≫
> って所が参考になります。

ありがとうございます。
maxlinesですね。勉強になりました。


[ ]
RE:08166 2回以上の改行のみの行削除No.08178
tm2016 さん 16/08/10 21:57
 
>tm2016さん、こんにちは。
≪全文引用されていたのでコミュニテックス会議室システムが引用部分を省略処理し
ました。≫
>replaceallfast "^\\n(?=\\n)", "", regular;

ありがとうございます。
このような方法もあるのですね。
大変勉強になりました。

[ ]