#c# #street-address
#c# #улица-адрес
Вопрос:
Я пишу код на c #, который получает в качестве входной строки израильский адрес плюс дополнительные данные. Я хочу сопоставить только адрес.
т.е. «CompanyA 02-4673889 myStreet 8, MyCity»
«Лучший X-магазин myStreet 877 indestirial area MyCity»
Я думал, что мой c # может искать город из имеющегося у меня списка из 70 городов, а затем сопоставлять название улицы.
1) Кто-нибудь знает, где я могу найти список улиц для городов Исаэли?
2) Может кто-нибудь придумать лучший способ извлечения данных из строки?
Комментарии:
1. возможно, если вы укажете, как у вас есть эти данные, вы могли бы загрузить их в контейнер или сохранить в формате xml или в базе данных, где вы могли бы легко выполнить поиск по нему?
2. «адрес плюс дополнительные данные». Какие дополнительные данные? Номера телефонов, почтовый адрес, имена домашних животных? Я бы подумал, что будет сложно вычесть адрес улицы, поскольку они, как правило, бывают разных форм с номерами и без номеров и т. Д., Но, может быть, вы могли бы перевернуть логику и удалить все, что не является адресом улицы?
3. учитывая примеры в вашем обновлении, я думаю, что это будет болезненно. Если бы у вас был разделитель, отличный от пробела между полями, это было бы легко (-ier). Откуда берутся данные? Есть ли возможности изменить формат ввода каждой строки?
4. Я собираю его с других сайтов. Я попросил у них API, но ответа не получил. Для меня есть какие-нибудь творческие идеи?
5. @EladBenda Не могли бы вы рассказать, как вам удалось получить этот список городов. Я сейчас занимаюсь той же работой, в частности, для Израиля.
Ответ №1:
Единственный способ правильно и точно проанализировать данные адреса — это использовать онлайн-сервис проверки адресов. Проблема с адресами, и особенно международными адресами, заключается в том, что нет реального стандарта. Другая проблема заключается в том, что адреса не являются «самоподтверждающимися», что означает, что вы не можете определить, является ли адрес правильным или даже отформатирован правильно, просто взглянув на него. Существует несколько сервисов, которые выполняют проверку адресов, и я полагаю, что есть несколько, которые обрабатывают израильские адреса.
Среди этих поставщиков есть два основных способа очистки ваших адресов. Вы можете использовать их возможности «пакетной очистки», когда вы загружаете файл и получаете его обратно в течение нескольких минут (или дней), в зависимости от поставщика. Или вы можете подключаться к их API веб-службы проверки адресов каждый раз, когда получаете адрес. Правильный ответ зависит от потребностей вашего бизнеса и того, насколько немедленным вам нужен ответ.
Большинство API-интерфейсов веб-служб возвращают различные составные части адреса, включая название улицы, что позволяет выполнять желаемую бизнес-функцию.
Я должен упомянуть, что я основатель SmartyStreets. Мы проверяем адреса для адресов в Соединенных Штатах. Я понимаю, что вы пытаетесь использовать израильские адреса, но знания предметной области, которыми я делюсь здесь по этой теме, в целом универсальны по своей природе.