• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C#で空白行を削除する方法)

C#で空白行を削除する方法

このQ&Aのポイント
  • C#でテキストの空白行を削除する方法について教えてください。
  • FileStreamクラスとStreamReaderクラスを使用してC#でテキストファイルを読み込み、空白行を削除する方法を教えてください。
  • C#の正規表現を使用して、テキストの空白行を削除する方法を教えてください。

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

  • ベストアンサー
  • Bonjin
  • ベストアンサー率43% (418/971)
回答No.2

この処理ならばファイルを一行ずつ読み込んでStringBuilderに追加していく方法でいいんじゃないですか? 正規表現でやりたいならば、 A = Regex.Replace(A, "\n{1,}", "\n"); でいいと思います。 ちなみに改行を\r\nで表していますが、EUCのファイルを処理するのでしょうか?

nirusu
質問者

お礼

言われた通りStringBuilderにしてみました。 さほどストレス無く読み込めるようになりました。 ありがとうございました。

nirusu
質問者

補足

htmlファイルを読み込んで、正規表現でタグを取り除いてtextBoxに表示させています。\r\nにしないと改行されないのでそうしています。

その他の回答 (3)

  • sakuhat
  • ベストアンサー率61% (11/18)
回答No.4

1行1行足すときに Bonjinさんが仰っているStringBuilderを 使えば置換するより速くなると思いますよ。 文字列を連結するには? http://www.atmarkit.co.jp/fdotnet/dotnettips/029strcat/strcat.html

参考URL:
http://www.atmarkit.co.jp/fdotnet/dotnettips/029strcat/strcat.html
nirusu
質問者

お礼

ありがとうございます。すごく早く読み込めるようになりました。

  • sakuhat
  • ベストアンサー率61% (11/18)
回答No.3

置換する方法ではなく、 1.textBox1.Textを空に 2.テキストを1行ずつ読み込む 3.読み込んだ行が「@"^\s*$"」にマッチするかどうか判別 4.マッチしなければtextBox1.Textに足す。 5.2~4を全行読み込むまで続ける。 といった処理の方が簡単だと思います。 1行ずつ読み込む方法 http://dobon.net/vb/dotnet/file/readfile.html (下のほうのやり方です。) 正規表現の活用法 http://www.atmarkit.co.jp/fdotnet/basics/regex01/regex01_01.html

参考URL:
http://www.atmarkit.co.jp/fdotnet/basics/regex01/regex01_01.html
nirusu
質問者

お礼

正規表現の活用法は参考になりました。ありがとうございます。

nirusu
質問者

補足

おっしゃる通り1行ずつ読み込めばできるんですが、ファイルの容量が10MB近くあるのでかなり時間がかかるんです。

  • phoenix343
  • ベストアンサー率15% (296/1946)
回答No.1

Regex.Replace(A, "\r\n\r\n", "\r\n"); じゃだめなのかな?

nirusu
質問者

お礼

Regex.Replace(A, "\r\n\r\n", "\r\n") では削除できませんでしたが、回答していただきありがとうございました。まは次回も宜しくお願いします。