Найдите слова с цифрами, но замените только цифры.

Вопрос или проблема

В Notepad++ как найти все слова с “alloy” и заменить только число после него на 0. Хотя есть случаи, когда его нужно заменить на 1. Замена производится на основе каждого файла, поэтому 0 и 1 не появятся в одном и том же редактируемом XML-файле.

adhesive 36, refined_tungsten_alloy 4, 
steel 32, refined_tungsten_alloy 376,
thread 24, refined_aluminium_alloy 5, thread 36, refined_aluminium_alloy 10,

  • Ctrl+H
  • Найти: _alloy \K\d+
  • Заменить на: 0 или 1 в зависимости от файла.
  • УДОСТОВЕРИТЬ Учитывать регистр
  • УДОСТОВЕРИТЬ Обёртка вокруг
  • Режим поиска Регулярное выражение
  • СКРЫТЬ . соответствует новому стилю
  • Заменить все

Объяснение:

_alloy          # в буквальном смысле с пробелом в конце
\K              # оператор сброса совпадения, забыть все, что мы видели до этой позиции
\d+             # 1 или более цифр

Скриншот (до):

введите описание изображения сюда

Скриншот (после):

введите описание изображения сюда

.

Ответ или решение

Поиск и замена чисел после слов "alloy" в Notepad++

Если вы работаете с файлом XML и вам необходимо заменить числа, стоящие непосредственно после слов "refined_tungsten_alloy" и "refined_aluminium_alloy", на 0 или 1 в зависимости от конкретного файла, то Notepad++ предоставляет удобные инструменты для выполнения этой задачи. В этом руководстве мы подробно рассмотрим, как выполнить это действие.

Шаги для осуществления поиска и замены

  1. Открытие диалога замены:
    Нажмите сочетание клавиш Ctrl + H для вызова окна поиска и замены.

  2. Настройка поиска:

    • В поле Find what введите регулярное выражение:
      _alloy \K\d+
    • В поле Replace with укажите значение:
      0

      или

      1

      в зависимости от файла, с которым вы работаете.

  3. Настройка дополнительных параметров:

    • Убедитесь, что опция Match case отмечена (выделена).
    • Также отметьте опцию Wrap around для продолжения поиска с начала файла после достижения конца.
    • В разделе Search Mode выберите Regular expression.
    • Убедитесь, что опция . matches newline не отмечена.
  4. Замена всех совпадений:
    Нажмите кнопку Replace All, чтобы заменить все найденные числа.

Пример регулярного выражения

  • _alloy: соответствует слову "alloy" с пробелом.
  • \K: сбрасывает все совпадения до этой точки, исключая их из результата.
  • \d+: соответствует одному или более цифровым символам, что и является теми числами, которые вы хотите заменить.

Пример до и после выполнения замены

До замены:

adhesive 36, refined_tungsten_alloy 4, 
steel 32, refined_tungsten_alloy 376,
thread 24, refined_aluminium_alloy 5, thread 36, refined_aluminium_alloy 10,

После замены (при установке замены на 0):

adhesive 36, refined_tungsten_alloy 0, 
steel 32, refined_tungsten_alloy 0,
thread 24, refined_aluminium_alloy 0, thread 36, refined_aluminium_alloy 0,

Заключение

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

Если вам необходима дополнительная помощь или более сложные операции с текстом, Notepad++ предлагает множество плагинов и расширений, которые могут расширить функционал программы.

Оцените материал
Добавить комментарий

Капча загружается...