Множественный поиск слов и замена в блокноте ++
Кто-нибудь знает, как заменить несколько разных слов сразу в блокноте ++.
Например:
У меня есть "хороший", "отличный", "прекрасный",
и я хочу заменить их "плохим", "худшим", "нет". все сразу
Я знаю, что я могу их повторять один за другим, но проблема, с которой я столкнулся, требует, чтобы я заменил много слов, что не удобно делать.
Ответы
Ответ 1
Установите плагин Python Script из диспетчера подключаемых модулей.
Создайте файл с вашими подстановками (например, C:/Temp/Substitutions.txt), отдельные значения с пробелом:
good bad
great worse
fine not
Создайте новый script:
with open('C:/Temp/Substitutions.txt') as f:
for l in f:
s = l.split()
editor.replace(s[0], s[1])
Запустите новый script текст, который вы хотите заменить.
Ответ 2
Попробуйте заменить регулярное выражение (good)|(great)|(fine)
на (?1bad)(?2worse)(?3not)
.
Поиск ищет любую из трех альтернатив, разделенных символом |
. Каждая альтернатива имеет собственные фиксирующие скобки. Замена использует условную форму ? Ntrue-expression: false-expression, где N - десятичная цифра, предложение проверяет, соответствует ли выражение захвата N.
Протестировано в Notepad ++ 6.3
Update:
Вы можете найти хорошую документацию, о новом PRCE Regular Выражения, используемые N ++, начиная с версии 6.0, на двух адресах ниже:
http://www.boost.org/doc/libs/1_48_0/libs/regex/doc/html/boost_regex/syntax/perl_syntax.html
http://www.boost.org/doc/libs/1_48_0/libs/regex/doc/html/boost_regex/format/boost_format_syntax.html
ПЕРВЫЙ относится к синтаксису регулярных выражений в SEARCH
ВТОРОЙ относится к синтаксису регулярных выражений в ЗАМЕНА
И, если вы можете понять "письменный французский", я сделал урок о Регулярные выражения PCRE, хранящиеся на личном сайте Christian Кювье (cchris) по следующему адресу:
http://oedoc.free.fr/Regex/TutorielRegex.zip
(Извлечен из публикации THEVENOT Guy на http://sourceforge.net/p/notepad-plus/discussion/331754/thread/ca059a0a/)
Ответ 3
Если вы все время заменяете одни и те же слова в нескольких разных файлах, записывая свое действие один раз, используя эти кнопки и сохраняя его как макрос будет полезен. * Notepad ++
Ответ 4
Мне нужно было выполнить замену на несколько файлов.
Итак, на основе Mauricio Morales ответ, я создал следующее script.
with open('C:/Temp/Substitutions.txt') as f:
files = notepad.getFiles()
for file in files:
notepad.activateFile(file[0])
for l in f:
s = l.split()
editor.replace(s[0], s[1])
f.seek(0) # reset file input stream
Ответ 5
-
Напишите макрос, который ищет и заменяет их 1 на 1.
-
Напишите простую программу на вашем любимом языке, которая делает все конверсии. Запустите его из Notepad ++.
-
Создайте собственный плагин для Notepad ++