как прочитать адрес в нескольких форматах, таких как карты Google

обратите внимание, что на картах Google вы можете вводить адрес любым удобным для вас способом. пока это действующий адрес... карты google его прочитают.

В какой-то рубиновой книге я видел фрагмент кода для чего-то подобного, но с телефонными номерами.

Любые идеи, как это можно сделать для адресов?

на выбранном вами языке.

РЕДАКТИРОВАТЬ:

меня не волнует "действительный" адрес. Я просто хочу разобрать адрес. так что 123 фальшивая улица, Вашингтон, 34223 будет адресом, как и 123 фальшивая улица WA 34223.


person ratan    schedule 03.03.2010    source источник


Ответы (2)


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

person Andrey    schedule 03.03.2010
comment
но зачем нам это? я не забочусь о действительном адресе. Я просто хочу разобрать адрес. так что 123 фальшивая улица, Вашингтон, 34223 будет адресом, как и 123 фальшивая улица WA 34223. - person ratan; 03.03.2010
comment
Я объясню. вы упомянули гугл. Google может разобрать оба этих адреса: 224 W 30th St, New York, NY 10001, USA и New York 224 W 30th St NY 10001, USA Google знает, что они одинаковы. вы хотите добиться такого же результата? - person Andrey; 03.03.2010
comment
похоже, что его больше интересует аспект регулярного выражения, а не правильность адреса - person drake; 03.03.2010

Вы можете создать регулярное выражение, которое будет соответствовать каждому формату, который вы хотите принять. Когда один из них совпадет, вы узнаете, как разобрать эту конкретную строку. Если подумать, вероятно, существует не более 10 распространенных форматов, которые люди будут использовать для ввода адреса в 99,9% случаев.

person Erix    schedule 03.03.2010