さとーC++ぶろぐ

アクセスカウンタ

zoom RSS Perl の chop で取り除く改行文字をWindowsやMacの改行文字に対応させる代用コード

<<   作成日時 : 2007/12/19 17:06   >>

ナイス ブログ気持玉 2 / トラックバック 0 / コメント 0

Perl には,行末の改行文字を取り除く chopという命令がある。
しかしながら,LF (\n)1文字の改行にしか対応していないので,
WindowsのCR LF (\r\n)やMacのCR (\r)は chopでは取り除けない。

これらを区別せず取り除くコードは,たとえば,
chop($str);
をしたいならば,
$str =~ s/(\r\n|\n|\r)$//g;
でいける。

意味は,変数$strの文字列が, \r\n か \n か \r で終わる場合は,それを取り除く。

$str =~ s/(\r\n|\n|\r)//g;
でも,大抵大丈夫。
意味は,変数$strの文字列が, \r\n か \n か \r が含まれる場合は,それを取り除く。
$str =~ s/(\n|\r)//g;
でもいいかな・・・。

$記号があるかないかは,あるほうは,正確に行末を認識するが,ない場合は,途中の改行であっても消去してくれる。

どちらがよいかは場合によりけり。

テーマ

関連テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ
気持玉数 : 2
ナイス ナイス

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
URL(任意)
本 文
Perl の chop で取り除く改行文字をWindowsやMacの改行文字に対応させる代用コード さとーC++ぶろぐ/BIGLOBEウェブリブログ
文字サイズ:       閉じる