Блокнот ++ Поиск и замена: удалить от 3 до 4 цифр после N в каждой строке - PullRequest
0 голосов
/ 07 июня 2019

У меня есть текстовый файл, где почти все строки начинаются с буквы N, за которой следуют 3 или 4 цифры, как показано ниже

N970 G2 X-1.0591 Y-1.7454 I0. J-.04
N980 G1 Y-1.7554
N990 X-1.0594 Y-1.7666
N1000 Z-.2187
N1010 Y-1.7566

Как я могу удалить N, а затем 3 или 4 цифры в Notepad ++, чтобы это выглядело так? если мне нужно искать дважды (один раз для N ### и затем снова для N ####), это тоже хорошо.

G2 X-1.0591 Y-1.7454 I0. J-.04
G1 Y-1.7554
X-1.0594 Y-1.7666
Z-.2187
Y-1.7566

числа идут от 100-9990 с шагом 10, если это помогает

1 Ответ

1 голос
/ 07 июня 2019

Вы можете использовать следующее регулярное выражение, которое должно работать для вашего случая:

^N[0-9]+\s*(.*)

Он будет соответствовать каждой строке, начинающейся с заглавной буквы N, за которой сразу следует одна или несколько цифр. Соответствующие результаты будут включать одну группу, которая будет содержать текст, который вы ищете.

Обратите внимание, что пробелы между N тегами и фактическим текстом будут не совпадать .

Попробуйте в этом ДЕМО

Разбивка

^         # Assert position at the start of the line
N         # Matches capital letter 'N' literally
[0-9]+    # Matches any digit between 1 and unlimited times
\s*       # Matches whitespace between 0 and unlimited times
(.*)      # The rest of the text you are looking for

Найти / Заменить

  • Регулярное выражение будет соответствовать каждой отдельной строке, поэтому вы можете либо выбрать Find Next, а затем Replace и обрабатывать файл по одной строке за раз, либо вы можете выбрать Replace All для обработки всего файла сразу.

  • Строка подстановки (Replace with:) должна просто включать первую группу ($ 1), которая представляет остальную часть вашего текста с обрезанными тегами N-префикса.

  • Убедитесь, что для Search Mode установлено значение Regular expression.

enter image description here

...