ruby - 从地址中删除街道后缀

标签 ruby regex

尝试从地址中识别(和删除)街道后缀(如“St”、“Dr”等)。假设后缀是统一的,并且我们可以创建一个完整的后缀列表。

谢谢!

 street_suffix_list = ["St", "Dr", "Ave", "Blvd", "Tr"]
 address = "105 Main St"

 #returns "Main St"
 street = address.gsub(/^((\d[a-zA-Z])|[^a-zA-Z])*/, '')

 #desired: "St"
 street_suffix = 

 #desired: "Main"
 street_name = 

最佳答案

使用 'streetaddress' gem,您可以解析任何地址并 提取地址的组成部分。

gem install StreetAddress
irb
1.9.3-p551 :002 > require 'street_address'
 => true 
1.9.3-p551 :003 > address = StreetAddress::US.parse("1600 Pennsylvania Ave, Washington, DC, 20500")
 => 1600 Pennsylvania Ave, Washington, DC 20500 
1.9.3-p551 :004 > address.street
 => "Pennsylvania" 
1.9.3-p551 :005 > 

关于ruby - 从地址中删除街道后缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37390247/

相关文章:

ruby-on-rails - 正则表达式攻击向量?

javascript - 使用javascript获取包含GET变量的路径

ruby-on-rails - Ruby on Rails CSV 上传和导入 - 文件名太长

ruby - 在 TCPServer (Ruby) 中,我如何从客户端获取 IP/MAC?

Javascript - string.replace() 文本跨越多行?

java - java Matcher 越界异常

Java map 一对一替换

ruby-on-rails - 基本 Rails 问题 : Building Data Over Several Pages

ruby-on-rails - 在编辑器中自动打开 Rails 生成迁移文件

ruby-on-rails - 升级到 ruby​​ 2.3.0 NameError: uninitialized constant I18n::Config::Backend