段落中の不要な改行だけ削除No.07506
ラスカル さん 15/02/02 15:01
 
◎段落途中の改行だけを削除したい

 段落の途中に不要な改行がいくつも入って
いる文章
を整形したいと考えています。
 改行をすべて削除
すると、本来、残しておきた
い段落の切れ目(改行+行頭のスペース)や、
題名(◎で始まる行)の末尾の改行も含めて、全部つ
ながってしまいます。
 どのようにすれば必要な部分を除外して、段落中の改行だけを削除できるでしょう
か。

(この文章の例であれば、タイトルを残しつつ、3つの段落に整形したいということ
です)


[ ]
RE:07506 段落中の不要な改行だけ削除No.07507
Imabeppu さん 15/02/02 15:47
 
Imabeppu です。
正規表現 ON で以下の置換を行うというのはどうでしょうか。

  検索: \n([^◎ ])
  置換: \1

[ ]
RE:07507 段落中の不要な改行だけ削除No.07508
ラスカル さん 15/02/02 19:45
 
Imabeppu さま。

お返事ありがとうございます。
結論としてはうまくいきませんでした。
ご教示の置換では、段落中の不要な改行が削除されませんでした。

分かりにくいかもしれませんが、私のしたいことをご説明します。
以下の文章でいうと(改行を\nとしています)

(元の文章)
◎段落中の不要な改行の削除について\n   ←削除しない
\n                    ←削除しない
 段落の途中に不\n            ←削除する
要な改行がいくつも入って\n        ←削除する
いる文章を整\n              ←削除する
形したいと考えています。\n        ←削除しない
 どのようにす\n             ←削除する
れば良いですか?\n            ←削除しない

(整形後)
◎段落中の不要な改行の削除について\n
\n
 段落の途中に不要な改行がいくつも入っている文章を整形したいと考えています。\n
 どのようにすれば良いですか?\n

[ ]
RE:07508 段落中の不要な改行だけ削除No.07509
山紫水明 さん 15/02/02 21:07
 
 ラスカルさん,

 ここはマクロの会議室なので,もしかしたらマクロによる方法をお尋ねでしょ
うか。 Imabeppu さんがお示しになったのは通常の置換による方法ですので,
マクロでしたら,

replaceallfast "\\n([^◎ ])", "\\1", regular;

とすればいいと思います。

                    山紫水明
                    SANSHISUIMEI

[ ]
RE:07509 段落中の不要な改行だけ削除No.07510
山紫水明 さん 15/02/02 21:33
 

>replaceallfast "\\n([^◎ ])", "\\1", regular;

 失礼しました。
 これでは2行目と8行目の改行も削除されてしまいますね。

                    山紫水明
                    SANSHISUIMEI

[ ]
RE:07510 段落中の不要な改行だけ削除No.07511
Imabeppu さん 15/02/02 22:16
 
Imabeppu です。

>  これでは2行目と8行目の改行も削除されてしまいますね。

たしかに。以下のでどうでしょうか。

  検索: ([^\n])\n([^◎ \n])
  置換: \1\2

マクロで使用するときは、適切にエスケープしてください。
(マクロヘルプの [式について]-[文字列] 参照)

[ ]
RE:07511 段落中の不要な改行だけ削除No.07513
ラスカル さん 15/02/03 17:18
 
Imabeppuさま、山紫水明さま

ご助言ありがとうございます。
結論としましては、

>replaceallfast "\\n([^◎ ])", "\\1", regular;

上記のマクロが大変参考になり、思うような整形ができました。
(ほかにも改行を残さなければならない部分が見つかり、[^◎ ]の部分を手直し
させていただきました。

このたびは、ありがとうございました。

[ ]