Rubyで、あるファイルの空白行を全て取り除きたいのですが、

どのように書けばいいでしょうか?

よろしくお願い致します。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2009/12/28 17:26:32
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:kn1967 No.2

回答回数2915ベストアンサー獲得回数301

ポイント76pt

2回も回答してスミマセン。 

1回目の回答は空白文字を考慮してませんでした。

i = open("a.txt")
s = i.read
i.close

o = open("b.txt", "w")
o.puts s.gsub(/\n(\s| )*\n/, "\n")
o.close

※ ¥sだと半角しか相手にしてくれないので全角空白も入れてます。

id:RESTfulJapan

これでできました。

ありがとうございました。

2009/12/28 17:25:35

その他の回答2件)

id:kn1967 No.1

回答回数2915ベストアンサー獲得回数301

一例:a.txtを読みこんでb.txtに書き出し。

i = open("a.txt")
s = i.read
i.close

o = open("b.txt", "w")
o.puts s.gsub(/\n+/, "\n")
o.close

正規表現 - Rubyリファレンスマニュアル

http://www.ruby-lang.org/ja/man/html/_C0B5B5ACC9BDB8BD.html

id:kn1967 No.2

回答回数2915ベストアンサー獲得回数301ここでベストアンサー

ポイント76pt

2回も回答してスミマセン。 

1回目の回答は空白文字を考慮してませんでした。

i = open("a.txt")
s = i.read
i.close

o = open("b.txt", "w")
o.puts s.gsub(/\n(\s| )*\n/, "\n")
o.close

※ ¥sだと半角しか相手にしてくれないので全角空白も入れてます。

id:RESTfulJapan

これでできました。

ありがとうございました。

2009/12/28 17:25:35
id:azuco1975 No.3

回答回数613ベストアンサー獲得回数16

ポイント4pt

RubyなのでFileオブジェクトとか使ったコーディングしないとダサいです。

http://mlog.euqset.org/archives/ruby-list/42422.html

id:RESTfulJapan

勉強不足ですみませんが、kn1967さんの回答で満足です…。

2009/12/28 17:25:33

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません