Страницы: 1
RSS
Извлечь маркировку из описания
 
Добрый день.
Стоит задача извлечь только марку кабеля из описания товара и полной маркировки.
Пользуясь регулярными выражениями представленными в статье https://www.planetaexcel.ru/blog/novaya-statya-analiz-teksta-regulyarnymi-vyrazheniyami-regexp-v-exc... получилось извлечь значения напряжения и сечения из маркировки.
С извлечением марки ничего подобрать не получается. Есть какие нибудь идеи?
 
Сергей Бакаев, а что из всего марка?
Не бойтесь совершенства. Вам его не достичь.
 
Сочетание букв или одна буква сразу после описания (выделил цветом)


               Провод А 1х50мк
           АВБШв
               Кабель   силовой бронированный АВБШвнг(А)-LS 1х240мк 1кВ (Белый)
 
Цитата
Сергей Бакаев написал:
Сочетание букв или одна буква
Как-то не серьезно...А описание что, без букв? Надо определить более весомый критерий, иначе вытащить это невозможно. Может, например, марка всегда с заглавной буквы и при этом всегда не является первым словом в тексте. Так же нужно понимать может ли быть более одного слова в марке(разделенные при этом пробелом).
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
в этом примере, марка всегда с заглавной буквы, всегда не является первым сломом (кроме одной позиции не принципиально), всегда написание одним слово без пробелов.
Изменено: vikttur - 02.09.2021 14:45:31
 
Цитата
Сергей Бакаев написал:
Конкретно в этом примере
а в другом может быть иначе? Поймите правильно - если уж и пытаться что-то сделать, то как минимум не на примере одной строки. Вот потрачу я сейчас время, напишу функцию, а Вы напишите: "А для другой строки не работает, я же как пример просто привел, в реальности может быть вот так и вот так" :)
Т.е. как бы хочется понять - этот конкретный пример отражает картину в полном объеме? Другие строки по таким же правилам можно обрабатывать?
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Сергей Бакаев,
Здравствуйте! Знакомы ли Вам эти статьи?
Анализ текста регулярными выражениями (RegExp) в Excel
Регулярные выражения (RegExp) в Power Query
Поиск ключевых слов в тексте
Массовая замена текста формулами
Вероятно, они могут помочь Вам точнее сформулировать свой вопрос.
 
как-то так:
Код
=ФИЛЬТР.XML("<j><i>"&ПОДСТАВИТЬ(ФИЛЬТР.XML("<j><i>"&ПОДСТАВИТЬ(A3;"х";"</i><i>")&"</i></j>";"//i[1]");" ";"</i><i>")&"</i></j>";"//i[last()-1]")
Изменено: Тимофеев - 02.09.2021 14:35:21
 
Спасибо.
Где можно посмотреть информацию, что бы разобраться как работает данная формула?

Насколько я понял привязка сделана к структуре "число х число".
Возможна ли гибкость в данной структуре, т.к. иногда написание может быть "число / число", либо "число" (когда первое число "1") И они буду корректными для полной маркировки.

В любом случае огромное спасибо, т.к. данная формула обрабатывает большую часть информации.

Цитата
Дмитрий(The_Prist) Щербаков написал: а в другом может быть иначе?
К сожалению такое возможно, т.к. это прайсы которые поступают от сторонних организаций. Там "куралесит" каждый, кто во что горазд (может описание отсутствовать и марка идти первым слово, некоторые вообще присылают в виде кросстаблиц), но как правило структура строки соответствует структуре строки в файле примере.
Изменено: vikttur - 02.09.2021 22:35:13
 
привязка к "х" -основной разделитель кабельной продукции по сечению, далее отсечка по пробелу и предпоследний элемент массива
тему найти не могу тут была где-то вот из нее пример разберетесь:
Изменено: Тимофеев - 02.09.2021 23:09:43
 
Цитата
Сергей Бакаев написал:
это прайсы которые поступают от сторонних организаций. Там "куралесит" каждый, кто во что горазд
Я, как устроился excel-щиком на работу, при схожих задачах отказался от формул и перешел на визуальную обработку. За час-другой можно до десяти прайсов по 50- наименований просмотреть и нужное обернуть в условные знаки, например,  Провод |А| 1х50мк АВБШв Кабель силовой бронированный |АВБШвнг(А)-LS| 1х240мк 1кВ (Белый)
 
Цитата
Тимофеев написал:
тему найти не могу тут была где-то вот из нее пример разберетесь:
Еще раз спасибо, пошел изучать.
 
Как вариант вычищать все через подставить до маркировки и обрезать по левому символу  
Страницы: 1
Наверх