Заменить тире между двумя числами и после первой запятой - PullRequest
0 голосов
/ 26 марта 2019

Я использую регулярные выражения в Notepad ++.

Мне нужно заменить тире между двумя числами и после первой запятой.

У меня есть:

ezofhzeifh,0045-6

fejoz-zkdz,2-4656

ceo45zd-45,5454-656

5454-4654,544-97241

и я хочу:

ezofhzeifh,0045+6

fejoz-zkdz,2+4656

ceo45zd-45,5454+656

5454-4654,544+97241

Спасибо за вашу помощь!

Ответы [ 3 ]

0 голосов
/ 26 марта 2019

Вы можете использовать это регулярное выражение,

,.*?\K(?<=\d)-(?=\d)

и заменить его на +

Здесь ,.*?\K часть соответствует запятой и некоторому необязательному тексту как можно меньше и \K сбрасывает все совпадения, а (?<=\d)-(?=\d) часть соответствует дефису -, перед которым стоит цифра.

Проверено и работает в Notepad ++ v 7.6.1

Онлайн-демонстрация

До замены

enter image description here

После замены

enter image description here

0 голосов
/ 26 марта 2019

Найдите запятую, за которой следуют несколько цифр и тире.

,\d+\K-

Затем замените его на +.

Вот демонстрация

0 голосов
/ 26 марта 2019

Вы можете использовать шаблон ,[^\-]*(?<=\d)-(?=\d) для сопоставления тире между двумя цифрами - их просто замените на +.

...