Намиране на CRLF в Notepad++

Как мога да намеря/заменя всички CR/LF символи в Notepad++?

Търся нещо еквивалентно на специалния символ ^p в Microsoft Word.

Решение

[\r\n]+ също трябва да работи

Обновяване 26 март 2012 г., датата на пускане на Notepad++ 6.0:

ОМГ, сега наистина работи!!!


Оригинален отговор 2008 (Notepad++ 4.x) - 2009-2010-2011 (Notepad++ 5.x)

Всъщност не, изглежда, че не работи с regexp...

Но ако имате Notepad++ 5.x, можете да използвате 'разширения' режим на търсене и да потърсите \r\n. Така ще намерите всички ваши CRLF.

(Осъзнавам, че това е същият отговор като останалите, но отново, 'разширеният режим' е достъпен само с Notepad++ 4.9, 5.x и повече)


От април 2009 г. на сайта на Notepad++ имате статия в уикито по тази тема:
"Как да заменим краищата на редовете, като по този начин променим оформлението на редовете".
(спомената от georgiecasey в неговия/нейния отговор по-долу)

Някои подходящи извадки включват следните процеси на търсене:

Обикновено търсене (Ctrl+F), режим на търсене = Normal

Можете да изберете EOL в прозореца за редактиране.

  • Просто преместете курсора до края на реда и напишете Shift+Right стрелка.
  • или, за да изберете EOL с мишката, започнете точно в края на реда и плъзнете до началото на следващия ред; плъзгането вдясно от EOL няма да сработи. Можете ръчно да копирате EOL и да го поставите в полето за Unix файлове (само за LF).

Обикновено търсене (Ctrl+F), режим на търсене = разширен

Опцията "Extended" (Разширено търсене) показва \n и \r като знаци, които могат да бъдат сравнени.
Както и при обикновения режим на търсене, Notepad++ търси точния символ.
Търсенето на \r във файл с формат UNIX няма да намери нищо, но търсенето на \n ще намери. Аналогично, файл с формат Macintosh ще съдържа \r, но не и \n.

Обикновено търсене (Ctrl+F), Режим на търсене = Редовен израз

Регулярните изрази използват символите ^ и $, за да закрепят низът на съответствието към началото или края на реда. Например търсенето на return;$ ще открие срещания на "return;", които не се срещат с никакъв следващ текст на същия ред. Символите за закотвяне работят по идентичен начин във всички файлови формати.
Метасимволът за точка '.' не съответства на края на реда.

[Тествано в Notepad++ 5.8.5]: търсенето в регулярен израз с изрично посочен \r или \n не работи (противно на документацията на Scintilla).
Не работи и търсенето по изричен (вмъкнат) LF или по (невидимите) EOL символи, поставени в полето, когато е избран EOL. Разширено търсене (Ctrl+R) без regexp

Ctrl+M ще вмъкне нещо, което съвпада с нови редове. Те ще бъдат заменени с низа за заместване.
Препоръчвам този метод като най-надежден, освен ако наистина не ви се налага да използвате regex.
Като пример, за да премахнете всеки втори нов ред във файл с двоен интервал, въведете Ctrl+M два пъти в полето за търсене и веднъж в полето за замяна на низ.

Разширено търсене (Ctrl+R) с Regexp.

Не се съчетават нито Ctrl+M, $, нито \r\n.


В същата уикипедия се споменава и алтернативата Hex editor:

  • Въведете новия низ в началото на документа.
  • След това изберете, за да прегледате документа в шестнайсетичен режим.
  • Изберете един от новите редове и натиснете Ctrl+H.
  • Докато е отворен диалоговият прозорец Replace, изберете на заден план новия низ за замяна и Ctrl+C го копирайте, за да го поставите във входа Replace with text.
  • След това заместете или заместете всичко, както желаете.

Забележка: символът, избран за нов ред, обикновено се появява като 0a.
Той може да има различна стойност, ако файлът е във формат Windows. В този случай винаги можете да преминете към Edit -> EOL Conversion -> Convert to Unix Format, а след замяната да го превключите обратно и да използвате Edit -> EOL Conversion -> Convert to Windows Format.

Коментари (12)

В диалоговия прозорец Replace (Замяна) искате да зададете режим на търсене на "Extended". Режимите Normal или Regular Expression не работят.

След това просто намерете "\r\n" (или само \n за unix файлове или само \r за файлове в mac формат) и задайте заместване на каквото искате.

Коментари (2)

Ако приемем, че има "регулярни изрази" търсене, потърсете \r\n. Предпочитам \r?\n, защото някои файлове не използват връщане на карета.

EDIT: Благодаря за отзивите на всички, които гласуваха за това. Научих, че... ами, нищо, защото не сте предоставили обратна връзка. Защо това е грешно?

Коментари (2)