|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
04.09.2017, 14:59 | #1 |
Форумчанин
Регистрация: 06.10.2013
Сообщений: 216
|
Выбор максимально похожей строки
Привет, есть список с названиями участков:
ДЭУ №1 ДЭУ №3(41) ПК ЮГ АБЗ МКАД Запад ПК Запад и т.д. и есть список файлов с сотрудниками: новые дэу1 сотрудники пк юг новые список новых сотрудников дэу3-41 и т.д. задача: по имени файла узнать какой это участок (из списка) проблема в том, что многие называют участок не так как в базе, к примеру где то есть пробел, где то нет, где то есть скобки, где то нет. пробовал: искать нужные участки с помощью функции POS, с помощью той же функции и Delete удалял явно лишние слова, но все равно не получается сделать это автоматически((( Подскажите пожалуйста в какую сторону копать? как найти наиболее подходящий из списка? |
04.09.2017, 15:58 | #2 | ||
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
нужно либо составлять словарь перекодирования (вручную - слово - как они называют и соответствующее ему значение - как это называется правильно). Либо административным путём решать - все обязать называть правильно. для этого разослать инструкцию со списком правильных названий. Кто не следует инструкции - наказывать. Постепенно всё будет правильно. Цитата:
p.s. вообще. формально говоря, нужно выбрасывать из строки все незначимые символы (в начале и конце строки вообще удалять, в середине все подряд идущие символы (пробелы, тире, скобки и т.п.) заменять на один символ. например, ДЭУ №1 ДЭУ №3(41) ПК ЮГ АБЗ МКАД Запад ПК Запад_", оставшиеся символы строки приводить к одном регистру (либо строчные, либо ПРОПИСНЫЕ буквы). потом сравнивать. т.е. будет ДЭУ_1 ДЭУ_3_41 ПК_ЮГ АБЗ_МКАД_ЗАПАД ПК_ЗАПАД и тоже самое делать со списком файлов. НО! Есть ненулевая вероятность получить неверное значение (коллизию) или, более вероятно, вообще не получить совпадения (ведь можно написать и ДЕЭ №1 и Д Э У - Один, "1-е ДЭУ" и "ДЭУ номер 1" и "ДЭУ1" и т.д. и т.п. |
||
04.09.2017, 16:10 | #3 |
Форумчанин
Регистрация: 06.10.2013
Сообщений: 216
|
|
04.09.2017, 19:04 | #4 |
Форумчанин
Регистрация: 29.10.2015
Сообщений: 273
|
Код:
|
04.09.2017, 19:05 | #5 |
Старожил
Регистрация: 16.05.2012
Сообщений: 3,211
|
Можно разделить программно то, что определяется, и то, что не определяется. Первую часть, соответственно, обработать автоматически, а вторую - отдать людЯм на растерзание. Всё же полегче будет...
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
|
04.09.2017, 19:17 | #6 |
Участник клуба
Регистрация: 07.12.2011
Сообщений: 1,025
|
Не стесняемся, плюсуем!
|
05.09.2017, 08:20 | #7 |
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,629
|
Код:
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
|
06.09.2017, 09:44 | #8 | |
Форумчанин
Регистрация: 06.10.2013
Сообщений: 216
|
Цитата:
и да!!!! оно работает!!! еще много спасибо Filka!!!!! Последний раз редактировалось PTyTb32; 06.09.2017 в 10:01. |
|
06.09.2017, 10:31 | #9 |
Форумчанин
Регистрация: 29.10.2015
Сообщений: 273
|
Пожалуйста.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
В каждой строке вибираеться минимальное число, а затем среди этих чисел вибираеться максимально. Вивести на экран номер строки в котором находится это число. | Анастасия3006 | Помощь студентам | 1 | 26.12.2016 01:20 |
А если заменить имеющиеся транзисторы на матери на более мощные (С похожей ВАХ), будет выигрыш? | Антоним | Компьютерное железо | 0 | 30.09.2016 14:03 |
Выбор минимального значения в максимально возможных. | Вадим_$ | Microsoft Office Excel | 6 | 14.05.2011 00:34 |
выбор текста из строки | maksim_serg | Microsoft Office Excel | 2 | 15.04.2010 14:15 |
Выбор инициалов из строки | Swatch | Microsoft Office Access | 6 | 05.03.2010 13:53 |