• ベストアンサー

サクラエディタで連続改行”\r\n”を置換

サクラエディタで連続する改行”\r\n”を置換したいです。 \r\n\r\n で置換しても、 量子指定で {\r\n\r\n}+ で置換しても、 \r+\n+\r+\n+ で置換しても、 うまくいかないのです。

質問者が選んだベストアンサー

  • ベストアンサー
  • Gotthold
  • ベストアンサー率47% (396/832)
回答No.2

要するに行頭の改行を消したいと言うことなら ^\r\n で置換すれば消えます。 なお、サクラエディタの標準機能では 改行をまたぐマッチングはできないです。 http://sakura.qp.land.to/?FAQ%2F2

paranoia23
質問者

お礼

ありがとうございます。 改行をまたぐマッチングはできないのですね。。

その他の回答 (4)

  • shimix
  • ベストアンサー率54% (865/1590)
回答No.5

あぁ、改行を超えての検索・置換は出来ないですね。 説明の『一番最後』に記述が・・・・ http://sakura-editor.sourceforge.net/htmlhelp/HLP000089.html ---------- 引用ここから (mオプションが付いていますが、改行をまたいだ検索はできません。) ---------- 引用ここまで 他の方からもあるように「\r\n」を「絶対に出現しない文字列」に置換してから処理するしかなさそうです。 例えばタブ記号が存在しないのが分かっていれば(\tで検索してHitしなければ) \r\n → \t に置換 \t\t → \t に置換 \t → \r\n に置換 の3ステップですね。

paranoia23
質問者

お礼

ありがとうございます。 やはりそうなってしまいますか。。 エディターも、それぞれ一長一短ありますね。。

  • ballville
  • ベストアンサー率47% (233/487)
回答No.4

1)改行があるとうまくパターンマッチしないので最初に改行を通常の文字に変換することを考えます。 2)例えば、いったん「\r\n」を全角の「¥r¥n」にしてしまえばいい。このとき、元の文書に「¥r¥n」があったりすると誤動作しますので、ユニークな別の文字列、例えば「¥¥¥rrrnnnn」にでも変えておきます。 3)もう、改行はただの文字列(「¥r¥n」だったり、「¥¥¥rrrnnnn」だったり)になっているので、「(¥r¥n)+」を変換対象として普通に置換できます。 4)置換が終わったら、「¥r¥n」を「\r\n」に戻します。 以上、手作業での手順ですが、マクロにでも登録しておけば捗ると思います。

paranoia23
質問者

お礼

ありがとうございます。 連続した改行には対応していないのですね。。 秀丸でできたのでsakuraでもできるという固定観念がありました。。 テクニックもありがとうございます。

  • shimix
  • ベストアンサー率54% (865/1590)
回答No.3

どう「うまくいかない」のかわかりません。まったく置換できないので、置換結果が想定したものと違うのか・・・ もし「まったく置換されない」のだとしたら、置換内容を入力するダイアログで『正規表現』にチェックが入っていないとかではありませんか?

paranoia23
質問者

お礼

『正規表現』にチェックが入っていないとかではありません。

paranoia23
質問者

補足

うまくいかない内容としては、 ◆置換対象 「2個の連続した改行」 ◆置換後文字 「改行1だけ」 ◆結果 「2個の連続した改行」が認識されず何も変わらない。

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

それって改行コードが違うとか? \n \r \n\r (これはどうかな?) など色々ありますしね。 それより >うまくいかないのです。 どのような状態を置換しようとしてどうなってしまうのかを、 きちんと説明された方が良いでしょうね。 ちなみにサクラエディタで改行だけをずっと並べて 置換前:\r\n 置換後: でやると1行になりますけど。

paranoia23
質問者

お礼

ありがとうございます。 次回は具体的に書いてみます。

paranoia23
質問者

補足

うまくいかない内容としては、 ◆置換対象 「2個の連続した改行」 ◆置換後文字 「改行1だけ」 ◆結果 「2個の連続した改行」が認識されず何も変わらない。

関連するQ&A

専門家に質問してみよう