Поиск строк

1. Satoshi_Nakamoto 05.10.21 09:07 Сейчас в теме
Доброго времени суток.

Есть блокнот(*.txt) в котором 46.000 строк текста в формате ("C:\Users\**\НазваниеНоменклатуры.pdf") все документы pdf как путь, есть справочник номенклатуры в котором строки НазваниеНоменклатуры.
Нужно программно сравнить строки НазваниеНоменклатуры и строку ("C:\Users\**\НазваниеНоменклатуры.pdf"). И если они хоть как-то равны вытащить путь этой строки ("C:\Users\**\НазваниеНоменклатуры.pdf"). Как это сделать?
По теме из базы знаний
Найденные решения
6. Satoshi_Nakamoto 05.10.21 09:28 Сейчас в теме
НазваниеНоменклатуры = Элементы.Номенклатура.ВыделенныйТекст;
ТекстовыйДокумент=Новый ТекстовыйДокумент;
ТекстовыйДокумент.Прочитать("C:\Users\**\list.txt");
КолСтрок=ТекстовыйДокумент.КоличествоСтрок();
Для л=1 По КолСтрок Цикл

Строка = ТекстовыйДокумент.ПолучитьСтроку(л);
Если СтрНайти(ВРег(Строка), ВРег(НазваниеНоменклатуры)) > 0 Тогда
Сообщить(Строка);
КонецЕсли;

КонецЦикла;
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. M_A_D 184 05.10.21 09:18 Сейчас в теме
(1) txt тянем в ТЗ добавляем столбик в ТЗ в которую: Парсим строку с путем, получаем последний элемент массива, парсим его по точке, берем первый элемент. Таблица с нужным набором данных готова.
Дальше можно запросом соединять строки ТЗ с НазваниеНоменклатуры, (По Подобно).
И думаю будет довольно оперативно.
4. starjevschik 05.10.21 09:24 Сейчас в теме
(1)
если они хоть как-то равны

нечеткий поиск в 1с? это очень смело. Я бы начал с критериев. Что значит "хоть как-то". Возможно, задача не решается средствами 1с или вообще не решается программно.
2. provadyuga 99 05.10.21 09:17 Сейчас в теме
5. Satoshi_Nakamoto 05.10.21 09:26 Сейчас в теме
6. Satoshi_Nakamoto 05.10.21 09:28 Сейчас в теме
НазваниеНоменклатуры = Элементы.Номенклатура.ВыделенныйТекст;
ТекстовыйДокумент=Новый ТекстовыйДокумент;
ТекстовыйДокумент.Прочитать("C:\Users\**\list.txt");
КолСтрок=ТекстовыйДокумент.КоличествоСтрок();
Для л=1 По КолСтрок Цикл

Строка = ТекстовыйДокумент.ПолучитьСтроку(л);
Если СтрНайти(ВРег(Строка), ВРег(НазваниеНоменклатуры)) > 0 Тогда
Сообщить(Строка);
КонецЕсли;

КонецЦикла;
7. starik-2005 3036 05.10.21 14:18 Сейчас в теме
(6)
Если СтрНайти(ВРег(Строка), ВРег(НазваниеНоменклатуры)) > 0 Тогда
Сообщить(Строка);
НУ вот есть строка "блаблабла/хрень.pdf" и строка "блаблабла1/хрень 1.pdf". И эта строка будет найдена дважды для "хрень". Афтор, ты уверен, что решил проблему? )))
8. Satoshi_Nakamoto 05.10.21 14:27 Сейчас в теме
(7)Да так и нужно, чтобы выводило все однотипные строки
Оставьте свое сообщение

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