我有一块文字,包括名称,可能是公司名称和地址,也可能是电子邮件地址。我想从中提取街道地址,最好是名称和地址。从名称和地址的文本块中提取地址/联系人详细信息?
这个数据是从多个来源中抽取的,所以我不知道实际的格式。这可能是这样的
Company name, [email protected]
ATTN John Doe
care of Company Name
123 Street St
New York, NY 12345
US
123-456-7890
这些行,但任何可以重新排列或缺失(电话号码可能是第一位的,没有ATTN或C/O等)。此外,这可能来自任何国家。
目标是a)将地址插入Google Maps API,b)尽可能多地创建联系人信息。
这是一个随机的想法,我有:
- 以一个电子邮件地址的任何行(可以轻松地将正则表达式中找到),存储的电子邮件地址并从进一步考虑的行。
- 取任意一个电话号码(仅限数字,[ - +()]),存储该号码,然后从进一步考虑中删除该行。
- 拿最后三行,并考虑那些街道地址 - 将它们插入Google地图,并希望获得最佳效果。
显然,这是很多juju魔术。有更聪明的方法吗?是否有任何图书馆具有良好的正则表达式来寻找不同国家的街道地址?
您是否找到任何解决方案? – Nemi 2012-03-15 16:57:09
@Nemi:不,尽管我需要它的应用程序是在加力燃烧器上。仍然是一个有趣的问题,很高兴为它找到解决方案。 – EboMike 2012-03-15 17:45:34