На входе есть слабо типизованный адрес. Где по идее формат следующий:
Индекс, Страна , Регион, Город, Улица, дом, всякое разное
Что я отловил.
- Пропуски запятых
- Пропуски частей
- Пропуски индекса
- Пропуски запятых
- Пропуски вообще всего в любых комбинациях, без разделителя
- Реверс всего, кстати этим страдает почему то Чечня и внезапно Дагестан (Почему????)
- Трэш со смесью пробелов и \t
- Замена запятых на пробелы (Нижний Новгород или Ново Воронеж, Нижний Устюг)
- Вариации (Нижний-Новгород Нижний - Новгород Нижний Новгород)
Как бы решения на поверхности, точнее что перебрал:
1. Разобрать все по логичным форматам, то есть если первый индекс больше 6 или не парсится в целое , то это мусор а не адрес
2. если нет запятых то поделить по пробелам, но тогда улица революции 1905 года просто плачет
3. Взять фиас и парсить каждый адрес, увы и ах
4. взять дадату и парсить, тоже так себе вариант
В общем призываю к обсуждению.
Возможно есть какие то мысли как этот хаос привести под знамена Императора!