如何从网址中删除随机多余的斜杠?
问题描述:
如何从网址中删除随机多余的斜线或只是验证它?如何从网址中删除随机多余的斜杠?
例如,
有效报表:
www.domain.com/url/url2
点无效声明:
https://domain.com/////url/url2
www.domain.com/url/////////url2
感谢您的帮助!
答
使用正则表达式:
require 'uri'
url = URI.parse('https://domain.com/////url/url2')
url.path.gsub! %r{/+}, '/'
p url.to_s
答
这种模式做的工作(使用HTTP(S)或没有):
"https://domain.com/////url/url2".gsub! %r{(?<!:)/+(?=/)}, ''
叶氏,谢谢。 但是这对于“http://”是不正确的,因为它有两个斜杠 – TiSer 2013-04-26 13:02:24
这会在模式部分(例如'https://')之后崩溃基本的双斜杠,不是吗?更好地使用'%r {([^:/])/ +},'$ 1 /''。 – collapsar 2013-04-26 13:03:35
啊,是的。固定只做路径。 – 2013-04-26 13:03:57