go *_*mal 1 ruby string street-address
邮局实际上在地址中公布了常用的街道后缀列表:
http://www.usps.com/ncsc/lookups/abbr_suffix.txt
我想取这个列表并制作一个带字符串的ruby函数,取最后一个字("183 main strt".split [''] .last)并且它是否匹配任何常用的街道后缀("strt") ),将其替换为官方邮政服务标准后缀("st").
有没有比大规模str.sub.sub.sub.sub.sub.sub更好的方法来解决这个问题?
我会将后缀放在哈希中,其中公共后缀是键,官方后缀是值.然后你可以在哈希中查找最后一个单词.
SUFFIXES = { "ALLEE" => "ALY", "ALLEY" => "ALY" }
addy = "183 main allee"
last = addy.split.last.upcase
addy = addy[0..-last.length-1] + SUFFIXES[last] if SUFFIXES[last]
puts addy
Run Code Online (Sandbox Code Playgroud)