Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Помогите обработать адреса! Добавлено: 17.03.03 15:21  

Автор вопроса:  Shkoda

Привет, пипл!

Подскажите как мне обработать такие вот адреса, голова уже болит, не знаю что и делать. Необходимо отделить индекс, область, район и прочее! Причем не ручками, а программно, ибо дюже много их!

396430;Воронежская область Павловский район с Белая Деревня ул Ворошилова д 2/а

394061;г Воронеж проспект Труда д 8-Б кв 104

394051 г Воронеж ул Пешестрелецкая д 147 кв 104

394086;г.Воронеж ул.Южноморавская д.52 кв.65

394088;г.Воронеж ул.45 стрелковой  дивизии д.275 кв.16

394061 г Воронеж пр-т Труда д 32 кв 19

394063;г Воронеж  Ленинский проспект д 203 кв 328

394040;г.Воронеж п.Придонской ул.Защитников Родины д.20 кв.17

396144;Воронеж.обл Панинский район с.Ивановка-1

Спасибочки!

Ответить

  Ответы Всего ответов: 6  

Номер ответа: 1
Автор ответа:
 POST



Вопросов: 14
Ответов: 269
 Web-сайт: www.vbnet.ru
 Профиль | | #1
Добавлено: 17.03.03 15:58

Писать всю функцию времени нет. Скажу только в какую сторону думать. Сперва отлавливаешь индекс через Like, потому как у тебя иногда стоит точка с запятой, иногда нет. Остальное ловишь через пробел посредством InStr(для VB.NET используй IndexOf). Хотя можно все сделать и через InStr... дело вкуса.

Ответить

Номер ответа: 2
Автор ответа:
 JBit



Вопросов: 0
Ответов: 8
 Профиль | | #2 Добавлено: 17.03.03 17:24

Если у тебя разделитель ; - то используй Split. Правда возвращает он, по моему, только Variant. Если надо подробнее, то подожди до ночи, пример накалякаю :)

Ответить

Номер ответа: 3
Автор ответа:
 JBit



Вопросов: 0
Ответов: 8
 Профиль | | #3 Добавлено: 17.03.03 17:33

P.S. Кстати индекс длины фиксированной вроде? Можно так:

Stroka = "394061;г Воронеж проспект Труда д 8-Б кв 104"

Index(x) = Left$(Stroka, 6)

Address(x) = Right$(Stroka, Len(Stroka) - 7)

Сделаешь это в цикле (учить думаю не надо) и все дела - на выходе два массива :)

Ответить

Номер ответа: 4
Автор ответа:
 User Unknown



Вечный Юзер!

ICQ: uu@jabber.cz 

Вопросов: 120
Ответов: 3302
 Профиль | | #4 Добавлено: 17.03.03 17:37

Прально, но дело в том, что ему не только индекс надо экстрактить, но и все остальное разложить по полочкам. Без хитро>I<опого InStr, отлавливающего пробелы не обойдесси:)

Ответить

Номер ответа: 5
Автор ответа:
 JBit



Вопросов: 0
Ответов: 8
 Профиль | | #5 Добавлено: 17.03.03 17:46

Ага, теперь понял. Тем не менее через InStr сначала найти пробел так, потом с помощью какого-нибудь Mid изловить слово промеж пробелов, потом сунуть его в массив...

Я так понял прога одноразовая нужна - базу нормальную сделать. Так что до памяти - волноваться нечего, пользуйся Split'ом. Свяжись со мной если нужна будет помощь, поучаствую

Ответить

Номер ответа: 6
Автор ответа:
 Shkoda



Вопросов: 3
Ответов: 9
 Профиль | | #6 Добавлено: 18.03.03 09:20

Привет!
Все бы хорошо, если бы просто выделить индекс.

Но фишка в том, что таких адресов порядка 20000 (как вам, а!)
и ежемесячно могут меняться порядка до 100 адресов.
ловить через пробел - это можно конечно, но мне надо еще как-то определить где город, где область, где район, улица и т.д.
и что интересно, эти адреса еще надо будет обрабатывать в соответствии с базой адресов налоговой (но на этот случай я уже сделал программу и она успешно работает). Вся беда как выделить мне составляющие этих адресов!

Иначе мне директор сделает так

Но все же спасибо откликнувшимся!
Надеюсь такая постановка не отпугнет желающих помочь!

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам