给定任何有效的HTTP / HTTPS字符串,我想解析/转换它,使得最终结果正好是字符串的根.
给定的URL:
http://foo.example.com:8080/whatsit/foo.bar?x=y https://example.net/
我想结果:
http://foo.example.com:8080/ https://example.net/
我发现URI :: Parser的documentation不是超级平易近人.
我最初的,天真的解决方案是一个简单的正则表达式:
/\A(https?:\/\/[^\/]+\/)/
(即:匹配协议后的第一个斜杠.)
解决方法
随着
URI::join:
require 'uri' url = "http://foo.example.com:8080/whatsit/foo.bar?x=y" baseurl = URI.join(url,"/").to_s #=> "http://foo.example.com:8080/"