Ruby 为什么先 split,然后 join?

xiaoronglv · 2012年10月20日 · 最后由 lgn21st 回复于 2012年10月20日 · 3211 次阅读
if !self.url.blank?
    url = self.url.gsub(/http[s]{0,1}:\/\//,'').split('/').join("/")
    self.url = "http://#{url}"
  end

为什么先 split,然后 join。

作者@xdite 这样做的目的是什么。

https://github.com/rubytaiwan/ruby-taiwan/blob/production/app/models/site.rb

去掉结尾的 /

目测结果:

"http://google.com".gsub(/http[s]{0,1}:\/\//,'') #是为了消灭 'http' 和 ’https'
"http://google.com/foobar/".split('/').join("/") #是为了把尾部的'/'消灭

#1 楼 @yesmeck 还是你回复的快。

如果是我的话,我会用 "http://google.com/foobar/".chomp('/')

#5 楼 @fredwu +1

这种方式好。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号