• ベストアンサー

文字列の中のスラッシュを検索して

Perlで、文字列 "http://***.co.jp/index.html"などの場合、"index.html"のみ取り出したいのですが。 それともしわかれば、 例えば "http://***.co.jp/~bbb/"という様に、文字列の最後にスラッシュがある場合、最後のスラッシュだけ消したいのですが。 よろしくお願いします。

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

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.3

$addr="http://www.goo.ne.jp/test/index.html"; $file=(split /\//,$addr)[-1]; #/で切り分けた最後の要素がファイル名 print "$file\n"; $addr="http://www.goo.ne.jp/test/"; if(substr($addr, -1, 1) eq "\/"){ #最後の文字がスラッシュ chop $addr; #最後の文字を切り落とす } print $addr;

souta_n
質問者

お礼

ずばり端的なお答えありがとうございます。

その他の回答 (2)

回答No.2

前者は $url = "http://***.co.jp/index.html"; $url =~ m/([^\/]+)$/; print $1."\n"; 後者は $url = "http://***.co.jp/~bbb/"; $url =~ s/\/$//; print $url."\n"; どうやって動いているかを知りたければ 「Perl 正規表現」でも検索してみてください

参考URL:
http://www.site-cooler.com/kwl/perl/8.htm
souta_n
質問者

お礼

ありがとうございます。 この正規表現というのがどうも苦手でして・・・幾度かいろんなサイトで調べてやってみるんですが、どうも応用が利かないのです。

  • cojirou
  • ベストアンサー率50% (59/117)
回答No.1

正規表現を用いるのがよろしいと思います。 正規表現 perl URL をキーワードにネット検索すれば、ヒントも得られるでしょう。 頑張ってください。

souta_n
質問者

お礼

この正規表現というのがどうも苦手でして・・・

関連するQ&A