• ベストアンサー

3つ目のスラッシュまでを取り出す方法

例えばhttp://www.hoge.com/aaa/bbb.htmのような文字列データがあり、そこから3つめのスラッシュまでの http://www.hoge.com/のみを取り出したい場合どうしたらよいのでしょうか? 言語はPERLです。

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

  • ベストアンサー
  • agharta
  • ベストアンサー率52% (54/103)
回答No.1

色々とあるでしょうけどこんなんは如何でしょうか my $str = "http://www.hoge.com/aaa/bbb.htm?"; my @Arr = split(/\//, $str); $ret = join('/', $Arr[0], $Arr[1], $Arr[2]) . "/"; print "[$ret]\n"; スマートじゃないっす

souta_n
質問者

お礼

なるほど・・・splitで/毎に分割して配列に保存の後、3つ目の添え字までをつなぐのですね。言われると「はぁはぁ」と納得します。 ありがとうございました。

その他の回答 (1)

  • moon_night
  • ベストアンサー率32% (598/1831)
回答No.2

こんな感じで。 $url = 'http://www.hoge.com/aaa/bbb.htm'; if ($url =~ /(http:\/\/[^\/]*\/)/) { $hit = $1; } print $hit; print "<br>\n"; if ($url =~ /([^\/]*\/{3}?)/) { $hit = $1; } print $hit; print "<br>\n";

souta_n
質問者

お礼

ありがとうございました。

関連するQ&A