Множественный поиск слов и замена в блокноте ++ - программирование
Подтвердить что ты не робот

Множественный поиск слов и замена в блокноте ++

Кто-нибудь знает, как заменить несколько разных слов сразу в блокноте ++. Например:

У меня есть "хороший", "отличный", "прекрасный", и я хочу заменить их "плохим", "худшим", "нет". все сразу

Я знаю, что я могу их повторять один за другим, но проблема, с которой я столкнулся, требует, чтобы я заменил много слов, что не удобно делать.

4b9b3361

Ответ 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 ++