2013-04-26 82 views

回答

10

使用正則表達式:

require 'uri' 
url = URI.parse('https://domain.com/////url/url2') 
url.path.gsub! %r{/+}, '/' 
p url.to_s 
+0

葉氏,謝謝。 但是這對於「http://」是不正確的,因爲它有兩個斜槓 – TiSer 2013-04-26 13:02:24

+0

這會在模式部分(例如'https://')之後崩潰基本的雙斜槓,不是嗎?更好地使用'%r {([^:/])/ +},'$ 1 /''。 – collapsar 2013-04-26 13:03:35

+0

啊,是的。固定只做路徑。 – 2013-04-26 13:03:57

0

這種模式做的工作(使用HTTP(S)或沒有):

"https://domain.com/////url/url2".gsub! %r{(?<!:)/+(?=/)}, ''