Вычислить выражение при замене в Notepad++

Input:
3
9
16

Мне нужен выходной файл, который добавляет константу 10 к каждому элементу в input-

Output:
13
19
26

Есть ли быстрый способ оценить выражения в Notepad++? Я пробовал пару вещей, в том числе:

Search: [0-9]+
Replace: $0+10

Но вывод, который я получаю:

3+10
9+10
16+10

person Tushar    schedule 25.02.2020    source источник
comment
Было бы интересно посмотреть, есть ли способ редактировать обратную ссылку без использования какого-либо плагина для сценариев. Хотя сомневаюсь =). Вот несколько связанных вопросов, которые я нашел, которые могут дать некоторое представление: здесь и здесь   -  person JvdV    schedule 25.02.2020
comment
Дубликат Notepad++ Find/Replace number with Increment Value   -  person Wiktor Stribiżew    schedule 28.02.2020


Ответы (1)


Вы можете запустить скрипт Python в плагине PythonScript.

Если он еще не установлен, следуйте этому руководство

Создайте скрипт (Плагины >> PythonScript >> Новый скрипт)

Скопируйте этот код и сохраните файл (например, calculate.py):

import re
def calculate(match):
    return '%s' % (str(int(match.group(1)) + 10))

editor.rereplace('(\d+)', calculate)
  • Откройте файл, который вы хотите изменить
  • Запустите скрипт (Плагины >> PythonScript >> Скрипты >> рассчитать)
  • Сделанный
person Toto    schedule 25.02.2020
comment
Спасибо, это работает. Я понятия не имел, что смогу интегрировать Python в это. - person Tushar; 25.02.2020
comment
@Tushar: Пожалуйста, рад, что это помогает. Эти скрипты Python очень полезны для обхода ограничений Notepad ++. - person Toto; 25.02.2020
comment
@Tushar: Не волнуйся, я уверен, что ты этого не сделал. - person Toto; 28.02.2020