人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

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

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

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


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


●質問者: himawari-san
●カテゴリ:ウェブ制作
✍キーワード:Perl ソース ログ 掲示板 配列
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● pahoo
●35ポイント

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

◎質問者からの返答

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

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

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


2 ● y-kawaz
●35ポイント

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

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

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

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

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

◎質問者からの返答

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ