Как добавить что-то каждую х строку

15

Как мне добавить

Keyboard : E : KeyDown
DELAY : 1300
Keyboard : E : KeyUp
DELAY : 200

к каждой строке X в текстовом документе?

Даниэль Хеллстрем
источник
1
Вы можете просто сделать это с помощью языка программирования, такого как C или Java.
Али Хашеми
Можете ли вы быть более точным в отношении того, что ваш файл уже содержит и чем вы хотите его заменить? Вероятно, это можно сделать с помощью функции поиска / замены регулярных выражений в Notepad ++, но мне нужно получить более четкий пример (аналогичный приведенному здесь примеру ), чтобы найти решение.
allquixotic
К вашему сведению, вы также можете сделать это онлайн textmechanic.com/text-tools/basic-text-tools/…
Франк Дернонкур

Ответы:

23

Чтобы вставить новую строку после каждых 9 строк, перейдите в меню Search> Replace(ярлык CTRL+ H) и выполните следующие действия:

  1. Найти то, что:

    (.*\r?\n){9}\K
    
  2. Заменить:

    Your new line\n
    
  3. Выберите переключатель «Регулярное выражение»

  4. Затем нажмите Replace All

Вы можете проверить это на regex101 .

psxls
источник
1
Это сработало для меня. Но не забудьте снять флажок [x] ". Как перевод строки" для регулярного поиска.
patrics
Работал отлично, спасибо! Обратите внимание: если в вашей новой строке есть какие-либо специальные символы регулярного выражения, такие как \ или *, вам нужно экранировать их с помощью обратной косой черты. \\ или \*.
twasbrillig
Похоже, \ K - это небольшая ошибка для замены. В моем случае мне нужно было использовать группы захвата, похожие на другой ответ, вместо использования \ K.
AaronLS
3

Все еще используя поиск / замену, в моем случае это работало лучше: выбирает [ваш пример 9 строк] в одной группе (внутренняя пара '()' для каждой строки, за которой следует 'newline'), затем пара '{}' для количество ожидающих строк для захвата, а внешняя пара '()' для 9 строк сохраняется как группа

((. * \ П) {9})

Используйте переменную \ 1 для восстановления той же группы строк [9], затем [вставка строки образца] и символ новой строки

\ 1 \ nКлавиатура: E: KeyDown DELAY: 1300 Клавиатура: E: KeyUp DELAY: 200 \ n

netify
источник
Пожалуйста, внимательно прочитайте вопрос. Ваш ответ не отвечает на оригинальный вопрос.
ДэвидПостилл
Настроен, чтобы соответствовать синтаксису OP
netify
0

Я уверен, что это работает в Notepad ++, но я решил это с помощью PSPads phReplace:

Поиск:

(.*\r\n.*\r\n.*\r\n.*\r\n.*\r\n.*\r\n.*\r\n.*\r\n)

Заменить:

$1New Line[Enter]

[Enter]обозначает нажатие кнопки ввода, так как phReplace не позволяет \r\nв поле замены.

mgutt
источник
Чем это лучше ответа @psxls?
Toto
@Toto Его ответ не сработал для меня.
mgutt
Это строго то же самое, но сжато
Тото