Определить область по адресу

1. aalu14 02.12.22 09:55 Сейчас в теме
Добрый день! Пытаюсь определить регион (область) и timezone (utc) по адресу.
К примеру, Адрес: "обл Томская, г Стрежевой, ул Ке..."
Разбиваю строку по запятой, получаю "обл Томская", далее ищу
Если СтрНайти("обл Томская", нрег("Томская")) > 0 тогда
возврат 7;

но раньше этого попадает:
Если СтрНайти("обл Томская", нрег("Омская")) > 0 тогда
возврат 6;

Как решить данную проблему? Может быть есть известные пути решение этой задачи? Я понимаю, что парсить текст это показатель "высшего" пилотажа, но приходится...
Заранее спасибо за наводки!
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Pavel Rodinchenko 02.12.22 10:08 Сейчас в теме
(1)как вариант не приводить область к нижнему регистру
9. user1863362 02.12.22 10:57 Сейчас в теме
(1) Просто поменяй порядок сравнений
Если СтрНайти(Фрагмент, "котомская") > 0 Тогда
    Возврат 1;
ИначеЕсли СтрНайти(Фрагмент, "томская") > 0 Тогда
    Возврат 7;
ИначеЕсли СтрНайти(Фрагмент, "омская") > 0 Тогда
    Возврат 6;
...
3. soft_wind 02.12.22 10:14 Сейчас в теме
ищите с пробелом

но раньше этого попадает:
Если СтрНайти("обл Томская", нрег(" Омская")) > 0 тогда //"[вот здесь пробел] Омская"
возврат 6;
и другой поиск тоже, (и действительно зачем нрег?)
Если СтрНайти("обл Томская", нрег(" Томская")) > 0 тогда
4. aalu14 02.12.22 10:26 Сейчас в теме
(2) иногда адрес написан так "Томская обл". Но можно поставить пробел в начале адреса, кстати
5. Zevzm 02.12.22 10:31 Сейчас в теме
Как вариант, проверить после поиска что найденная позиция это либо начало строки, либо на (Позиция - 1) находится не пробел.
6. aalu14 02.12.22 10:32 Сейчас в теме
нрег так как иногда адрес: "московская область"
7. soft_wind 02.12.22 10:33 Сейчас в теме
(4) ну так добавьте пробел, (что же полет фантазии напрочь отсутствует)

ПроверяемыйАдрес = "Томская обл"; //без пробела
Если СтрНайти(" " + ПроверяемыйАдрес, " Томская") > 0 тогда //с добавленным пробелом, найдется то что надо
8. aalu14 02.12.22 10:37 Сейчас в теме
10. lmnlmn 69 02.12.22 10:59 Сейчас в теме
(8) Если вообще радикально, то после разбития по запятой можно так же точно по пробелу разбить подстроки чтоб не заморачиваться с какой стороны "обл" приписали.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот