从字符串中提取公司地址

时间:2009-11-05 09:48:36

标签: php

我需要从字符串中提取地址

$string ="some text 9 th pizza tower 78 main Chennai 600001. and other information may be phone number etc";

$string我想只提取“第9个披萨塔78主要奈奈600001”

此地址格式不是常数,可能有两种不同的方式 一个是字符串变量,另一个是这样的

$string1= "some text 9 th pizza tower main Chennai 600001. and other information may be phone number etc";

从这里我需要提取“第9个披萨塔主要的Chennai 600001”

4 个答案:

答案 0 :(得分:1)

我不认为这是可能的......从纯文本文件中提取文本就像在树林里要求树一样,“哪一个?”。

如果文件始终采用相同的格式,例如:

Company Name 73
1st Cross Street, Hotel Chennai
-600000
someadditionalstuff

然后你有一个改变,或者它总是用特殊字符(,。;等)分开。如果它始终是相同的格式(您在上面显示的格式),那么这样的东西可能会起作用:

([a-zA-Z0-9 ]*),([a-zA-Z0-9 ]*) XXX ([a-zA-Z0-9 ]*) (-[0-9]{6})

第1组:公司名称 第2组:地址 第3组:城市 第4组:邮政编码

巴比

答案 1 :(得分:0)

抱歉这是不可能的。它可能适用于一个网站但不适用于其他网站,因为在网页上显示公司地址(或任何地址)时没有标准格式。

答案 2 :(得分:0)

这不是一个简单的问题,并且没有可以解决问题的神奇AI代码。 你必须做出一些假设,并查看大量数据,以确定它是否是好的。

开始 - 如果你假设,每个地址都以邮政编码结尾,你可以在字符串中搜索5(或6)个数字并在之后剪切。

找到地址的开头超出了我的技能。也许正在寻找第一个数字。

你需要检查很多例子,找出与大多数匹配的最佳图案。

答案 3 :(得分:0)

是的,可以使用付费的Google自然语言处理,也可以打开自然语言处理。但对于开放的NLP,没有更好的文档可用。 最好从这个网址引用: https://opennlp.apache.org/