Страницы: 1
RSS
Сопоставление текста по различным маскам
 
Утро доброе, профессионалы.

Есть такая задача: Необходимо произвести сопоставление элементов из разных документов, в которых коды этих элементов записаны по-разному или даже совмещены.
Например, код 01-PB-01/02 содержит 2 кода: 01-PB-01 и 01-PB-02. или 01PB20/10PR30 это 01PB20 и 10PR30.
Соответственно нужно разобрать коды и сличить их, например 10PR30 = 10-PR-30.

Пример - в прикрепленном файле.
Спасибо!
 
Пожалуйста. Приходите еще.
Я сам - дурнее всякого примера! ...
 
KROKS, по док. 1 вроде вопросов нет, а, вот, по док.2 требуется Ваша расшифровка. Например, 01-PB-01/02 это коды:
01-PB-01
01-PB-02
Правильно? Тогда расшифруйте также код:
37/01-PB/06/16/12
Чтобы было понимание полное. Спасибо.
Имхо, тут нужны регулярки (тестирую регулярки тут) и словари. Скорее всего надо писать UDF.

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
JayBhagavan, Да, верно.
Там ошибка небольшая, должно быть 37/01-PB-06/16/12.
37/01-PB-06/16/12 это:
37-PB-06
37-PB-16
37-PB-12
01-PB-06
01-PB-16
01-PB-12
Изменено: KROKS - 01.08.2016 19:05:08
 
Цитата
kuklp написал: Пожалуйста. Приходите еще.
С автором что-то не так?

KROKS, понятно. В принципе решаемо. Предложу свой алгоритм:
- к коду док.1 дописали косую черту ("/") (так надо)
- создали массив сплитом (разделитель "/")
- развернуть коды по док.2 (самое сложное тут), убрать из них "-", занести в словарь
- цикл по искомому до предпоследнего элемента (он всегда будет пустой)
- если искомое есть в словаре, то возвращаем ИСТИНА и прерываем цикл
- конец цикла
- если ничего не нашли, то возвращаем ЛОЖЬ

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
Цитата
JayBhagavan написал:
С автором что-то не так?
От Вашего достоинства зависит.
Цитата
KROKS написал:
Есть такая задача: Необходимо ..
Пример - в прикрепленном файле.
Спасибо!
Если не напрягает - попутного ветра.
Я сам - дурнее всякого примера! ...
 
kuklp, Вас смутила формулировка "задача"? Считайте ее эквивалентной словам "проблема", "ситуация" и т.д. Не нужно думать что я Вас тут к чему-то принуждаю. Спасибо что уделили время.
 
KROKS, перечитайте своё стартовое сообщение: звучит, как ТЗ или распоряжение (задание). Вот об этом Вам kuklp и хотел сказать.
P.S. И не нужно писать сообщение через строку.
Спасибо!
 
Утро доброе.
Получился вот такой вариант. Вроде работает. Можно ли как-нибудь оптимизировать/сократить код?
JayBhagavan, Спасибо за советы, теперь я немного знаком с регулярками!
Изменено: KROKS - 01.08.2016 12:00:30
 
Цитата
Юрий М написал:
не нужно писать сообщение через строку.
Реакция в #9.
Страницы: 1
Наверх