- ベストアンサー
文字列の中のスラッシュを検索して
Perlで、文字列 "http://***.co.jp/index.html"などの場合、"index.html"のみ取り出したいのですが。 それともしわかれば、 例えば "http://***.co.jp/~bbb/"という様に、文字列の最後にスラッシュがある場合、最後のスラッシュだけ消したいのですが。 よろしくお願いします。
- みんなの回答 (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;
その他の回答 (2)
- dragonscape
- ベストアンサー率66% (2/3)
前者は $url = "http://***.co.jp/index.html"; $url =~ m/([^\/]+)$/; print $1."\n"; 後者は $url = "http://***.co.jp/~bbb/"; $url =~ s/\/$//; print $url."\n"; どうやって動いているかを知りたければ 「Perl 正規表現」でも検索してみてください
お礼
ありがとうございます。 この正規表現というのがどうも苦手でして・・・幾度かいろんなサイトで調べてやってみるんですが、どうも応用が利かないのです。
- cojirou
- ベストアンサー率50% (59/117)
正規表現を用いるのがよろしいと思います。 正規表現 perl URL をキーワードにネット検索すれば、ヒントも得られるでしょう。 頑張ってください。
お礼
この正規表現というのがどうも苦手でして・・・
お礼
ずばり端的なお答えありがとうございます。