Удалить LAST пустую строку из текстового файла, содержащего абзацы, используя notepad ++ - PullRequest
1 голос
/ 07 марта 2019

Как удалить последнюю пустую строку из следующего примера, используя Regx и notepad ++?

qwerty
asdfgh
<blank line>
zxcvbn
poiuyr
<last blank line>

Текстовый пример содержит пустые строки между блоками текста.

Я думал, что regx 'lookaround' может работать, например: (? S) (? =. *) \ N, но, похоже, он находит все символы конца строки, а не последний.

Ответы [ 2 ]

0 голосов
/ 07 марта 2019

попробуйте \n\Z, чтобы удалить все пустые строки las, и если вам нужна только одна попытка \n\z

0 голосов
/ 07 марта 2019

Вы можете использовать общий

\R\z

Соответствует переносу строки и концу файла.

В зависимости от стиля разрыва строки файла, вы можете использовать

\r\n\z
\r\z
\n\z
\r?\n\z

Поскольку \R является сокращением для \u000D\u000A|[\u000A\u000B\u000C\u000D\u0085\u2028\u2029], вы также можете использовать

(?:\u000D\u000A|[\u000A\u000B\u000C\u000D\u0085\u2028\u2029])\z
(?:\x{000D}\x{000A}|[\x{000A}\x{000B}\x{000C}\x{000D}\x{0085}\x{2028}\x{2029}])\z

Или, если \z не поддерживается:

(?:\u000D\u000A|[\u000A\u000B\u000C\u000D\u0085\u2028\u2029])$(?![\s\S])
(?:\x{000D}\x{000A}|[\x{000A}\x{000B}\x{000C}\x{000D}\x{0085}\x{2028}\x{2029}])$(?![\s\S])

$(?![\s\S]) соответствует концу строки / строки без символа после него.

...