我有一个从web获取地址的方法,因此,有许多已知的错误,如:
123 Awesome St, Pleasantville, NY, Get Directions我想成为:
123 Awesome St, Pleasantville, NY有没有web服务或Python库可以帮助您做到这一点?我们可以开始创建一个项目列表,比如",Get Directions“或更通用的版本,但我认为可能会有一个帮助器库来进行这种文本分析。
发布于 2011-02-23 01:13:54
下面是一个Regex,它可以解析其中的任何一个。如果您有其他示例,我可以更改当前的正则表达式使其适用
(?<address>(?:[0-9]+\s+(?:\w+\s?)+)+)[,]\s+(?<city>(?:\w+\s?)+)[,]\s+(?<state>(?:\w+\s?)+)(?:$|[,])
这甚至适用于与我的地址格式相似的地址(1234 North 1234 West,Pleasantville,NY)
发布于 2011-02-23 01:23:09
我要说的是,除非数据是固定格式的,或者您有一个巨大的地址数据库来进行匹配,否则这项任务是不可能在高度可信的情况下完成的。
您可以使用一个国家/地区列表,然后针对您使用的每个国家/地区设置一个规则集。美国的规则集可能包括一份州、城市和邮政编码的列表,以及一种查找街道地址的模式。然后,您将丢弃任何不是州、城市邮政编码或看起来不像街道地址的内容。
您仍然会删除本应是地址一部分的内容,但至少使用瑞典地址,其中可以只包含农场的名称,而不是街道和号码。如果美国的国家地址是相同的,那么就没有办法知道什么是地址的一部分,什么不是,除非你有权访问一个包含所有美国地址的数据库。:-)
https://stackoverflow.com/questions/5081296
复制相似问题