提取没有编号街道名称的街道地址

时间:2017-12-18 15:17:05

标签: python regex openstreetmap

我试图从以下地址中提取街道号码:

1520 32nd Street
3215 Sheldon Rd

但是替换不是数字,第一个得到32。

python>  re.sub(r'\D', '', street)
152032
3215

我很确定我需要负面看一下,但我无法做到。

1 个答案:

答案 0 :(得分:1)

如果您第一次参与地址规范化的过程,您的任务会更容易:将地址转换为具有明确定义字段的标准格式。有很多工具可以做到这一点; usaddress模块似乎适用于美国地址。

>>> import usaddress
>>> addr = usaddress.tag('1520 32nd St')
>>> addr[0]['AddressNumber']
'1520'

还有你的第二个地址:

>>> addr = usaddress.tag('3215 Sheldon Rd')
>>> addr[0]['AddressNumber']
'3215'