Perlの質問です。

空白行を取り除くにはどうすればよいですか?

[@:配列]に掲示板のログを代入しました。
spritをつかって1行づつ「,カンマ]で区切ってあります。

これから、空白行を取りのぞいたものを別の[@:配列]に入れ直したいのですが、[空白]をどう判断してよいかわかりません。

掲示板のログですので、[空白]といっても一律ではなく、ただ目視で、なんにもないだけで、中には半角や全角のスペースやタブなんかもあったりします。


参考になるソースなどありましたら併せてお願いします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:2008/04/14 16:52:41
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:pahoo No.1

回答回数5960ベストアンサー獲得回数633

ポイント35pt

どのようなロジックでログを読み込んでいるのか分かりませんが、1行ずつ読み込んでいるとしたら、読み込んだ1行(文字列)に正規表現を適用し、空白行かどうか判断するのが一般的です。perlにおける正規表現の使い方については下記サイトを参考にしてください。

id:himawari-san

最初から正規表現を使うことを考えています。

ですが、正規表現を使ったマッチングで「空白行」を探すような表現がわかりません。(Perlでの場合)

掲示板のログですので、TABもあればスペースもあるのです・・・。

2008/04/14 16:11:44
id:y-kawaz No.2

回答回数1422ベストアンサー獲得回数226

ポイント35pt

$str に空白文字を含む文字列が入っているとしたら以下のコードで空白文字を除去出来ます。

$str =~ s/[\s ]+//g

\s は半角スペースやタブや改行文字などの空白文字、それと、上記の表示では分かりにくいですが全角空白文字をの連続を削除しています。

[AB]+ はAかBの文字の連続を意味します。これを // つまり空文字に置換しています。

http://q.hatena.ne.jp/answer

id:himawari-san

なんとかわかりそうです。やってみます!

2008/04/14 16:13:07

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

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

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

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

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