Как заменить группу символов на один в том же количестве?

Имеются строки вида
927 0000000 927 0199999
901 8020000 901 8039999
902 2900000 902 2999999
902 3200000 902 3249999
902 3350000 902 3399999
......
необходимо поменять группы нулей и девяток на %
Допустим, в первой строке нужно 927 %%%%%%% 927 01%%%%%
Как найти такие группы я вроде разобрался: (\d)\1{4,7}
Можно не только под notepad++
  • Вопрос задан
  • 304 просмотра
Пригласить эксперта
Ответы на вопрос 1
@tplus
На питоне это можно сделать так
>>> a
'927 0000000 927 0199999'
>>> re.sub('\d{7}', lambda x: '%'*len(x.group()), a)
'927 %%%%%%% 927 %%%%%%%'
>>>


lambda x: '%' * len(x.group())
Функция, которая применяется для замены каждого экземпляра найденной последовательности. Функция принимает результат выражения, извлекает строку и возвращает кол-во знаков "%" равное её длине.

В npp есть плагин (точное название не вспомню, в духе PythonEditor), который позволяет обращаться к содержимому вкладки, используя Python и свой API.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы