PDA

Показать полную графическую версию : [решено] поиск и замена по маске


Profile
16-12-2019, 21:54
Доброго всем времени суток.
Пытаюсь придумать универсальное выражение для поиска и замены символов.
...получается ерунда какая-то.
Сообщество выручайте...
есть куча строк с содержанием такого вида: .*\sAB.CDL\s .*
из всего этого мне нужно оставить только AB.CDL, где AB и CD - любые цифры, между цифрами всегда присутствует точка, и в конце всегда присутствует L, перед точкой может быть как одна, так и две цифры, после точки - тоже, может стоять одна или две цифры, и в любом случае в конце стоит L. Затем нужно заменить L на TM с пробелом перед TM
например:
653x 3.8L KM > 3.8 TM
MA7.0 4.3L Z10 > 4.3 TM
A7.0 14.3L IB45 > 14.3 TM
MA1.1 E-Mec 4.37L I4 > 4.37 TM
Помогите пожалуйста.)

a_axe
16-12-2019, 22:34
Profile, в каком приложении предпочтительно работать?
Что подразумевается подвыражением .*\s »
Просто любой текст?

Profile
16-12-2019, 23:28
в каком приложении предпочтительно работать? »
в exel конечно

Что подразумевается подвыражением »
смотрите
...строки содержат любой набор символов и пробелов, среди них есть значение, обязательным условием которого является, то что оно отделено пробелами, в нем есть точка и в конце, перед пробелом, стоит L. Точка может разделять как двузначные числа, так и однозначные.
вот примеры я привел:
653x 3.8L KM653x3.8LKM
MA7.0 4.3L Z10MA7.0 .3LZ10
A7.0 14.3L IB45
MA1.1 E-Mec 4.37L I4MA1.1 E3.8L
жирным выделены полезные данные, которые необходимо оставить

okshef
16-12-2019, 23:53
Profile, Анализ текста регулярными выражениями (RegExp) в Excel (https://www.planetaexcel.ru/techniques/7/4844/)

Profile
17-12-2019, 00:51
Анализ текста регулярными выражениями (RegExp) в Excel »

читал я это в первую очередь
но вот с маской как быть?
маловато опыта, что бы построить сложную маску

bredych
17-12-2019, 01:16
у оффиса регекспы, емнис,одинаковы во всех приложениях
И вам ведь дали линк на ман
я лет 5 не делал, но смысл, наверно подобный

поиск: ([A-Z,a-z,0-9, ]{1;5})([0-9]{2}).([0-9]{2})L(*)
замена: \2.\3L

если где какую мелкую ошибку в синтаксисе слепил - по логике из мана подправьте.

Profile
17-12-2019, 02:18
если где какую мелкую ошибку в синтаксисе слепил - по логике из мана подправьте. »
спасибо за направление)
попробую разложить эту конструкцию для понимания




© OSzone.net 2001-2012