notepad ++ (NppScript) как я могу заменить sctipt? - PullRequest
0 голосов
/ 06 мая 2020

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

Например character1= ; character2= [

;aaaaaaaa
;aaaaaaaa
[bbbbb
ccc



;aaa

[bbb

ccc

Я хочу иметь


[bbbbb
ccc

[bbb
ccc

Теперь мне нужно использовать replace> ^[;].* очистить> удалить пустые строки> заменить [ в \n [> заменить в пустом

1 Ответ

1 голос
/ 07 мая 2020

Нет необходимости в скрипте, работает простой поиск и замена (с использованием регулярного выражения):

  • Ctrl + H
  • Найдите что: ^(?:;.*\R+|\R+|(\[.*\R))
  • Замените на: (?1\n$1:)
  • ПРОВЕРИТЬ Обернуть
  • ПРОВЕРИТЬ Регулярное выражение
  • UNCHECK . matches newline
  • Заменить все

Пояснение:

^               # beginning of line
  (?:           # non capture group
    ;.*\R+        # semicolon, 0 or more any character then a line break
   |            # OR
    \R+           # any kind of linebreak
   |            # OR
    (\[.*\R)      # group 1, opening square bracket, 0 or more any character then a line break
  )

Замена:

(?1             # if group 1 exists (there is a [ at the beginning of line)
    \n              # line feed (you may use \r\n for windows EOL)
    $1              # content of group 1 (the line that begins with [ )
  :             # else
                    # do nothing
)               # endif

Снимок экрана (ранее):

enter image description here

Снимок экрана (после):

enter image description here

...