2009-11-05 2 views
0

Мне нужно извлечь адрес из строкиExtract Адрес компании из строки

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

От $string Я хочу, чтобы извлечь только «9-й пиццы башни 78 главный Chennai 600001»

формат

Этот адрес не постоянно может быть двумя разными способами одна строка переменной другой, как это

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

здесь мне нужно извлечь «9-й пи zza tower main Chennai 600001 "

ответ

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: zip- Код

Bobby

+0

Спасибо Адрес маом меняться я хочу только 73 первого Cross Street, Hotel Chennai -600000 (без спецификации CHARAC нет prblem), например, в несколько раз решить, как этой 73 главной дороги Chennai 600000 , – Naresh

+0

am с адресом в varible $ string = "Название компании 73 1st Cross Street, Hotel Chennai -600000 и дополнительные данные "; – Naresh

+0

Является ли фиксированная часть 73? – Bobby

0

Извините, что это невозможно. Он может работать на одном веб-сайте, но не для других, поскольку нет стандартного формата при отображении адреса компании (или любого адреса) на веб-странице.

0

Нелегкий вопрос, и нет волшебного кода AI, который может понять это. Вы должны сделать некоторые предположения и посмотреть на множество данных, чтобы узнать, хороши ли они.

для начала - если вы предполагаете, каждый адрес заканчивается почтовым индексом, и вы можете искать строку на 5 (или 6) цифр и вырезать ее после этого.

Чтобы найти начало адреса, не зависит от моих навыков. возможно, ищет первый номер.

вам нужно проверить множество примеров, чтобы выяснить, какой будет лучший паттен, который соответствует большинству из них.

+0

И - другое решение - введите свой адрес пользователя в отдельном поле и сэкономьте много времени. – Dani

+0

На самом деле я получаю это с веб-страницы как html, а затем я удалил все теги (html, script, style), в конце концов, имея его в строке – Naresh

0

Да, это возможно с использованием Google Natural Language Processing, которая оплачивается, или вы можете открывать открытую обработку на естественном языке. Но для открытого НЛП нет лучшей документации. Лучше обратитесь с этим URL: https://opennlp.apache.org/

Смежные вопросы