Для исключения влияния регистра можно использовать функцию Text.Lower() на обе таблицы, а для поиска с конца развернуть текст с помощью Text.Reverse(). А вот что делать дальше ума не приложу.
17.12.2019 14:03:11
Доброе время суток
|
|||
|
|
17.12.2019 14:07:44
Изменено: |
|||||
|
|
17.12.2019 14:42:19
З.Ы. А хотя, я гляжу, Андрей нашел как эту тему обыграть.
Изменено:
Вот горшок пустой, он предмет простой...
|
|||
|
|
17.12.2019 14:52:10
|
|
|
|
17.12.2019 14:54:13
Murderface_, вариант Андрея я так понимаю вам подойдет только если будет полный исходный справочник всех опций. Так? Если справочник неполный то код рабочий? Находит точно то что хотелось?
Вот горшок пустой, он предмет простой...
|
|
|
|
17.12.2019 14:55:10
|
|||
|
|
17.12.2019 15:10:45
Ну вот, вам осталось слегка модифицировать код Андрея и будет работать как надо.
Вот горшок пустой, он предмет простой...
|
|
|
|
17.12.2019 15:44:35
|
|||
|
|
17.12.2019 15:46:56
вот как шаг result разложить для теста? |
|||
|
|
17.12.2019 16:21:57
Ну, если прямо хочется разложить, то это не так просто. Но если на вскидку, то нужно просто в этом куске
добавить Text.AfterDelimiter примерно вот так:
Изменено:
Вот горшок пустой, он предмет простой...
|
|||||
|
|
18.12.2019 10:24:24
Также при разделителе " на " не будет маркироваться Установка постоянной услуги 64190 Антивирус.Kaspersky Safe Kids на 1 устройство; Я так понимаю универсального решения не существует
Изменено: |
|||
|
|
18.12.2019 10:52:20
По вопросу темы вам Андрей дал готовое красивое решение, но вы до сих пор четко не сформулировали задачу: вот есть, вот чего хочу на выходе.
Вот горшок пустой, он предмет простой...
|
|||
|
|
18.12.2019 11:50:45
Перенес решение Андрея в рабочий файл, в нем список опций немного другой. Вариант сработал без ошибок, еще раз большое спасибо!
|
|
|
|
19.03.2021 15:52:34
Доброе время суток.
1. Воспользовалась алгоритмом написаным в сообщении Разобралась во всем, кроме условия (a,b) => a-b в List.Max(). Подскажите, пожалуйста, что это условие призвано решить? Если условие удалить, то все ломается. Пыталась найти какуе-то информацию в интернете. Не нашла. Все мои попытки методом тыка и подбора разобраться ничем не закончились.
2. Необходимо найденный текст в строке заменить на правильный/корректный. Решила вопрос через массовую замену (воспользовалась Можно ли как-то упростить решение в прикрепленном файле, а именно объединить два этих решения, чтоб при поиске сразу происходила замена текста на корректный и не создавать много шагов и две колонки с последующем удалением одной(Производитель и КорректПроизвод)?
3. В случае нескольхих вхождений значений в одной строке, текущая реализация выводит последнее вхождение (ближайшее к концу строки). Можно ли как-то изменить данный алгоритм, чтобы выводилось первое вхождение (ближайшее к началу строки)? Или для этого нужен другой медод/код?
Спасибо.
Изменено: |
|
|
|
19.03.2021 17:05:32
Изменено: |
|||||||
|
|
20.03.2021 12:49:51
Функция List.Max() возвращает максимальное значение в списке, и при необходимости указать способ сравнения вводится условие. Но в алгоритме из сообщения
Я так понимаю, что условие (a,b) => (a[position]-b[position]) сравнивает позицию через получение отрицательного значения, но почему функция не работает без указания условия? |
|
|
|
20.03.2021 12:52:34
|
||||
|
|
|||