|
автор: ?????? (30.11.-1 в 00:00) |
|
| Добрейшего времени суток Алл!
Есть таблица адресов. Улицы, дома и индексы. Текстовое поле вида
"Авиационная ул - Н(19-25),Ч(18-44) - 196135 Н(1-17) - 196066"
т.е. (Н)ечетные дома под номером 19-25 и (Ч)етные дома под номером 18-44 по указанной улице имеют индекс 196135 (ну эт так, для справки)
Задача - найти вхождение этого самого индекса в строке. Что-то наподобии InStr но для группы цифр.
Ничего не идет в голову, кроме как организация посимвольного перебора с подсчетом. Может другие каки варианты есть ?
Спасибо. | |
|
| |
|
автор: osmor (30.11.-1 в 00:00) |
|
| почему не подойдет instr? | |
|
| |
|
автор: ?????? (01.09.2006 в 00:00) |
|
| Re: почему не подойдет instr? Не знаю как задать параметр для поиска для индекса.
Строку
"Авиационная ул - Н(19-25),Ч(18-44) - 196135 Н(1-17) - 196066"
нужно разбить на:
"Авиационная ул - Н(19-25),Ч(18-44) - 196135
"Авиационная ул - Н(1-17) - 196066"
И так со всеми полями в таблице. | |
|
| |
|
автор: Explorer (30.11.-1 в 00:00) |
|
| вообще то в таком формате индекс это единственная группа где шесть цифр идут подряд не зная возможных вариантов кодирования, сложно что-то рекомендовать | |
|
| |
|
автор: ?????? (01.09.2006 в 00:00) |
|
| Re: вообще то в таком формате индекс это единственная группа где шесть цифр идут подряд Э-э-э. Не понял :) какие варианты кодирования? | |
|
| |
|
автор: Explorer (01.09.2006 в 00:00) |
|
| if isnumber - а вообще - перебором посимвольно... на каждай символ с конца проверяешь число ли следующие шесть, включая и текущий.
т.е. for i = 1 to len(srtAddress) step -1
blah-blah-blah
если номер - то подхватываешь и прыгаешь вперед (назад в стринге) сразу на 6 (5?) символов, (i = i + x) если нет проверяешь следующие шесть и т.д.
последние в цикле (первые в стринге) символы точно не индекс - придумай как обработать выход из цикла... | |
|
| |
|
автор: ?.?. (01.09.2006 в 00:00) |
|
| Re: Ничего не идет в голову, кроме как организация посимвольного перебора с подсчетом. Так и сделайте. Это общий, быстрый, универсальный способ.
Быстрый - потому, что у вас строки короткие. | |
|
| |