2010-11-27 15 views

答えて

2

0から長さhttp://www.google.comの部分文字列を取得するだけです。

0

これを試してみてください:

/\Ahttp:\/\/www\.google\.com(.*)?\Z/ 

ruby-1.9.2-p0 > "http://www.google.com" =~ /\Ahttp:\/\/www\.google\.com(.*)?\Z/ 
=> 0 
ruby-1.9.2-p0 > "http://www.google.com/foobar" =~ /\Ahttp:\/\/www\.google\.com(.*)?\Z/ 
=> 0 
ruby-1.9.2-p0 > $1 
=> "/foobar" 
0

Railsは便利start_withを持っていますか?このための方法。静的な文字列の場合は、正規表現は必要ありません。

url.start_with?("http://www.google.com")

1

ではなく、正規表現を使用して、あなたは、Rubyが付属していますURI libraryを使用して検討する必要があります。それは、URLを分離して構築し、十分にテストされ、同じ機能を再開発しようとするよりもエラーを起こしにくいものになりました。

require 'uri' 

url = URI.parse('http://www.google.com/path/to/page.html?a=1&b=2') 
url.scheme # => "http" 
url.host # => "www.google.com" 
url.path # => "/path/to/page.html" 
url.query # => "a=1&b=2" 

これで十分でない場合は、Addressable::URIの宝石はさらに優れています。

関連する問題