我想格式化要在网址中使用的制造商名称。
示例:IN-X / P.S.M. International
我写了一个如下的帮助方法
def clean_name(name)
fn = name.gsub(/[.\/,&()]/, '') #replace these characters with nothing
fnn=fn.strip.gsub(/[\s]/,'-') #replace the spaces between the words with hyphens
fnnn = fnn.gsub(/--/,'-') #replace double hyphens with single ones
end
我知道必须有一个比我上面更好的方法。任何更有经验的程序员都有一些想法吗?
答案 0 :(得分:5)
如果你正在使用Rails,你可以这样做:
string.parameterize
这来自ActiveSupport::Inflector。对于更复杂的段塞,请参阅ActsAsUrl。它可以执行以下操作:
"rock & roll".to_url => "rock-and-roll"
"$12 worth of Ruby power".to_url => "12-dollars-worth-of-ruby-power"
"10% off if you act now".to_url => "10-percent-off-if-you-act-now"
"kick it en Français".to_url => "kick-it-en-francais"
"rock it Español style".to_url => "rock-it-espanol-style"
"tell your readers 你好".to_url => "tell-your-readers-ni-hao"
Ruby Toolbox中的Permalinks and Slugs类别中列出了其他几个选项。
答案 1 :(得分:0)
这个怎么样:
def clean_name(name)
name.gsub(/[.\/,&()]/, '').gsub(/[\s\-]+/, '-')
end