Ruby でも文字列から、URI オブジェクトを作る。
たぶん、他の言語でも同じだろ

require 'uri'

site = URI( "http://example.org/test.cgi?a=b&;c=d" )

p [ site.scheme, site.host, site.port, site.path, site.query ]
#=> ["http", "example.org", 80, "/test.cgi", "a=b&c=d"]

# URL を抜き出す。
p URI.extract( "abc http://example.net/ xyz" )
#=> ["http://example.net/";]