Notepad ++. Как заменить разные символы соответствующими буквами одновременно?

Как найти и заменить в Notepad ++ несколько разных символов на соответствующие письма сразу по всему тексту? Например, у меня есть 32 символа, которые я хочу заменить. Поэтому у меня есть символ «А», и я хочу заменить его буквой «А». Затем у меня есть символ «Æ», и я хочу заменить его буквой «Ж» и так далее. Как правило, у меня есть 32 таких символа, и каждый раз мне нужно делать одну и ту же операцию. Есть ли способ сделать это сразу?

Изображение, демонстрирующее запрос

Иногда я использовал wReplace от sharktime.com . Это работает очень хорошо. Вы устанавливаете его, а затем можете указать столько символов, сколько хотите.

Я знаю, что это не решение для плагинов , но оно работает. Надеюсь это поможет!

Он очень прост в использовании. Это изображение до / после

Этот предыдущий вопрос дает ответ. Короткий вариант – в Notepad ++ без плагинов, это невозможно из-за того, как работает Find and Replace.

Я бы посмотрел на использование sed или подобное.

Даже с новым RegEx-движком Notepad ++ 6, который поддерживает PCRE ( источник ), нет разумной (т. Е. С линейной сложностью) и надежного (т. Е. Гарантированного труда) подхода, который позволит вам достичь этого в единственном Find & Replace , не говоря уже о Один поиск в файлах .

Однако вы можете добиться этого, дважды используя « Найти в файлах» :

  1. Добавьте матрицу замещения в каждое вхождение любого из старых символов:

    Find what: ([ÌÍÎÏÐÑ]) Replace with: ``\1`ÌH`ÍO`ÎΠ`ÏP`ÐC`ÑT`` Search Mode: Regular Expression 

    fooÌbar это превращает fooÌbar в foo``Ì`ÌH`ÍO`ÎΠ`ÏP`ÐC`ÑT``bar .

  2. Замените каждый старый символ (и матрицу замещения ) на соответствующий новый символ:

     Find what: ``(.).*?`\1(.).*?`` Replace with: \2 Search Mode: Regular Expression 

    Это, например, преобразует foo``Ì`ÌH`ÍO`ÎΠ`ÏP`ÐC`ÑT``bar в H

Обратите внимание, что для этого вам необходимо перейти на Notepad ++ 6.0 или выше . В то время как само регулярное выражение также должно работать со старым движком RegEx, есть ошибка, связанная с многобайтовыми символами в целом.

Как это работает

    • Набор символов ([ÌÍÎÏÐÑ]) соответствует любому из этих пяти символов.

      Скобки включают это в первое подвыражение (см. Следующий пункт).

    • \1 символизирует совпадение первого подвыражения, т. Е. Символ, который мы хотим заменить.

    • Все остальные символы обрабатываются буквально.

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

    • (.) Соответствует первому символу после `` .

      Скобки превращают это в первое подвыражение.

    • .*? Как можно меньше символов.

    • `\1 символизирует`, за которым следует совпадение первого подвыражения, т. Е. Символ, который мы хотим заменить.

    • (.) Соответствует первому символу после символа, который мы хотим заменить. По нашему дизайну, это его характер замены.

      Скобки превращают это во второе подвыражение.

    • .*?`` Соответствует как можно меньше символов до тех пор, пока не встретится окончательный `` .

Для получения дополнительной информации о регулярных выражениях проконсультируйтесь:

  • Как использовать регулярные выражения в Notepad ++ (учебник)
  • Язык регулярных выражений – краткая справочная информация – MSDN
  • Regular-Expressions.info
  • Есть ли способ эффективно управлять вкладками в Notepad ++
  • Как сохранить настройки шрифта в Notepad ++
  • Как отключить проверку орфографии в Notepad ++?
  • Удалить все строки в Notepad ++, кроме строк, содержащих нужное мне слово?
  • Можно ли изменить кодировку по умолчанию в блокноте?
  • Как настроить Notepad ++ для использования пробелов вместо вкладок?
  • Множественный поиск слов и замена в блокноте ++
  • Почему мое регулярное выражение не работает в NotePad ++?
  • Поиск и замена математических операций с помощью Notepad ++
  • ANSI - UTF-8 в Notepad ++
  • Редактирование столбцов в Notepad ++ является удивительным. Как копировать / вставлять в режиме столбцов?
  • Давайте будем гением компьютера.