RubyでURLの分割方法

このQ&Aのポイント
  • RubyでURLをホスト部分とファイル部分に分割する方法についてまとめました。
  • 例を挙げながら、RubyでURLを分割する方法を解説します。
  • URLのホスト部分とファイル部分を取得するためのコードを紹介します。
回答を見る
  • ベストアンサー

Ruby URLの分解方法

Rubyで、どう書いたらよいでしょうか? 例1:http://oshiete1.goo.ne.jp/oshiete_new.php3  →host => "oshiete1.goo.ne.jp" , file => "oshiete_new.php3" 例2:oshiete1.goo.ne.jp/oshiete_new.php3  →host => "oshiete1.goo.ne.jp" , file => "oshiete_new.php3" 例3:oshiete1.goo.ne.jp  →host => "oshiete1.goo.ne.jp" , file => "" 以上の様なURLをホスト部分とファイル部分に分割するにはどうしたら良いですか?

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

  • ベストアンサー
  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.1

C:\Documents and Settings\All Users>irb irb(main):001:0> require 'uri' => true irb(main):002:0> u = URI.parse("http://oshiete1.goo.ne.jp/oshiete_new.php3") => #<URI::HTTP:0x1592986 URL:http://oshiete1.goo.ne.jp/oshiete_new.php3> irb(main):003:0> u.scheme => "http" irb(main):004:0> u.host => "oshiete1.goo.ne.jp" irb(main):005:0> u.path => "/oshiete_new.php3" irb(main):006:0> pathの頭に余計なものがありますが、まあこんなところで。

kingfruits
質問者

補足

ありがとうございます。 正規表現とかで切り出す面倒が無くてイイですね。

関連するQ&A

  • URLを削る行為?

    ネットマナーサイトをみても無かったのですがURLを削る行為というのはされる側としては迷惑なことでしょうか?某サイトの掲示板でURLを削って訪問した行為に叱責されてる方がいたので・・・ 例)URL削りとは例えばこのURLの場合 http://oshiete1.goo.ne.jp/oshiete_new.php3?c=520 これを http://goo.ne.jp/ にしてGooサイトを出す方法です。

  • 正規表現でURLの後半の一部だけを連続して消したい場合

    例えば以下のようなアドレスを正規表現を使って連続して消したい場合 どう書けばいいのでしょうか?1000個くらいありますので手動では 不可能です。 これが、(※数字に規則性はありません) http://oshiete1.goo.ne.jp/oshiete_new.php3?c=239 http://oshiete1.goo.ne.jp/oshiete_new.php3?c=277 http://oshiete1.goo.ne.jp/oshiete_new.php3?c=541 こうなるようにしたいのですが、 http://oshiete1.goo.ne.jp/ http://oshiete1.goo.ne.jp/ http://oshiete1.goo.ne.jp/ Speeeeedというソフトを使う予定です。

  • IE6 URL文字列中の.と.の間の単語を選択するには?

    例えば、 http://oshiete1.goo.ne.jp/oshiete_new.php3?c=559 というURLがIE6で表示されている際に、文字列"goo"の辺りをダブルクリックしたら、文字列"goo"だけが選択できるようにするには、どうしたらよろしいでしょうか? つまりURL文字列内の「.」をセパレータとした単語選択を行いたいのです。 よろしくご教授願います。

  • URLのhtp://の後にwwwが多いのはなぜですか

    htp://の後はサーバのアドレスといわれています。 このウェブページのアドレスはhttp://oshiete1.goo.ne.jp/oshiete_new.php3です。 ここで「oshiete1」は、パソコンの名前ですか?それともサーバのある領域ですか?この「oshiete1」の部分がヤフーhttp://www.yahoo.co.jp/ のように「www」がやたら多いのですが、これはなぜですか?これもyahooというサーバ会社のwwwというパソコン名なのでしょうか? 教えてください。

  • アドレスバーに表示されるURLの一部が薄くなりました。

     みなさん、はじめまして。お世話になります。    先程、Internet Explorer8をインストールしました。その後、インターネットを開いたのですが、上部にあるアドレスバーに表示されるURLの一部が薄い文字になってしまい困っています。  うまく説明できないのが申し訳ないのですが、通常通り黒い文字で表示される部分は、ホームページの名前の部分だけです。  例えば、今表示されているttp://oshiete1.goo.ne.jp/oshiete_new.php3の場合、「goo.ne.jp」だけ普通に表示されています。  元の表示に戻したいのですが、どのようにすればいいかわからず困っています。  直す方法をご存知の方がいらっしゃれば、教えて頂けると助かります。できれば原因も知りたいです。  お手数ですがよろしくお願いします。それでは失礼します。

  • 末尾の数字を自動で変換して表にしてくれるソフト

    http://oshiete1.goo.ne.jp/oshiete_new.php1 http://oshiete1.goo.ne.jp/oshiete_new.php2 http://oshiete1.goo.ne.jp/oshiete_new.php3 http://oshiete1.goo.ne.jp/oshiete_new.php4 こんな具合に自動でリストを作ってくれるようなソフトってありますか?末尾だけを手入力するのが面倒なものですから。

  • ファイル名は、数字の「0」(ゼロ)から始めることが可能ですか?

    HTML、CSS、Javascript、PHP等のファイル名は、数字の「0」(ゼロ)から始めることが可能ですか? ファイル名例1:01234.css ファイル名例2:01234.php ファイル名例3:0abcd.css ファイル名例4:0abcd.php 以前、別のスレッドで数字だけのファイル名は問題ないかということをお聞きしましたが、数字だけのファイル名は特に問題ないとのお答えを頂きました。それは、理解しました。 http://oshiete1.goo.ne.jp/qa5205477.html http://oshiete1.goo.ne.jp/qa5207056.html よろしくお願いします。 参考サイトのURL等もお願いします。

    • ベストアンサー
    • PHP
  • こんなURLは可能ですか?

    http://oshiete1.goo.ne.jp/(((((()))))))) のようなURLをつけても大丈夫でしょうか? サーバーに(((((())))))))というフォルダを作ってファイルを置いたらアクセスできました。ただ、テキストとかメールに上のURLを書いてもうまくリンクしませんでした。それ以外のことで、不都合があれば教えてください。

  • URLについて

    URLについて 大学でURLについて学んだのですが、 URLは「スキーム名://ホスト名/パス名/(ファイル名)」という構成と学びました。 スキーム名はhttpなどのことで、 ホスト名はwwwなどのことですよね。 パス名とはどのようなものなのでしょうか。 具体例をあげていただくとうれしいのですが・・・。 あとドメイン名というのはURLの中に構成されないのですか? よろしくお願いします。

  • 教えてgooで回答するときにはる参考URL

    このサイトで回答していらっしゃる人で、参考URLに2つ以上のアドレスを独立して2行以上にわたってはってる方いますよね。あれってどうやるんですか? たとえば http://oshiete1.goo.ne.jp/kotaeru.php3?q=552825 の回答NO2の方のような。