首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >简单文本解析库

简单文本解析库
EN

Stack Overflow用户
提问于 2011-02-23 01:01:51
回答 2查看 562关注 0票数 0

我有一个从web获取地址的方法,因此,有许多已知的错误,如:

代码语言:javascript
运行
复制
123 Awesome St, Pleasantville, NY, Get Directions

我想成为:

代码语言:javascript
运行
复制
123 Awesome St, Pleasantville, NY

有没有web服务或Python库可以帮助您做到这一点?我们可以开始创建一个项目列表,比如",Get Directions“或更通用的版本,但我认为可能会有一个帮助器库来进行这种文本分析。

EN

回答 2

Stack Overflow用户

发布于 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)

票数 0
EN

Stack Overflow用户

发布于 2011-02-23 01:23:09

我要说的是,除非数据是固定格式的,或者您有一个巨大的地址数据库来进行匹配,否则这项任务是不可能在高度可信的情况下完成的。

您可以使用一个国家/地区列表,然后针对您使用的每个国家/地区设置一个规则集。美国的规则集可能包括一份州、城市和邮政编码的列表,以及一种查找街道地址的模式。然后,您将丢弃任何不是州、城市邮政编码或看起来不像街道地址的内容。

您仍然会删除本应是地址一部分的内容,但至少使用瑞典地址,其中可以只包含农场的名称,而不是街道和号码。如果美国的国家地址是相同的,那么就没有办法知道什么是地址的一部分,什么不是,除非你有权访问一个包含所有美国地址的数据库。:-)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5081296

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档