如何从网址中删除随机过多的斜杠或只是验证它?
例如,
有效陈述:
www.domain.com/url/url2
无效陈述:
https://domain.com/////url/url2
www.domain.com/url ///////// URL2
感谢您的帮助!
答案 0 :(得分:11)
使用正则表达式:
require 'uri'
url = URI.parse('https://domain.com/////url/url2')
url.path.gsub! %r{/+}, '/'
p url.to_s
答案 1 :(得分:0)
这种模式可以完成这项工作(使用或不使用http):
"https://domain.com/////url/url2".gsub! %r{(?<!:)/+(?=/)}, ''
答案 2 :(得分:0)
其他答案不会从URL中删除斜杠-这对于SEO而言可能很重要。有很多方法可以做到这一点,但是例如:
require 'uri'
url = URI.parse('https://example.com/////url/url2/')
url.path.gsub! %r{/+}, '/'
url.path.sub! %r{/$}, ''
或者:
require 'uri'
url = URI.parse('https://example.com/////url/url2/')
url.path.squeeze!('/')
url.path.chomp!('/')