我试图从以下地址中提取街道号码:
1520 32nd Street
3215 Sheldon Rd
但是替换不是数字,第一个得到32。
python> re.sub(r'\D', '', street)
152032
3215
我很确定我需要负面看一下,但我无法做到。
答案 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'