Найти CRLF в Notepad ++

Как я могу найти/заменить все символы CR/LF в Notepad++?

Я ищу что-то эквивалентное специальному символу ^ p в Microsoft Word.

Ответ 1

[\r\n]+ тоже должен работать

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

OMG, он действительно работает сейчас!!!

PCRE regexp in Notepad++


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

На самом деле нет, он не работает с regexp...

Но если у вас есть Notepad ++ 5.x, вы можете использовать режим поиска расширенный 'и искать \r\n. Это находит все ваши CRLF.

(Я понимаю, что это тот же ответ, что и другие, но опять же, "расширенный режим" доступен только с Notepad ++ 4.9, 5.x и более)


С апреля 2009 года у вас есть статья wiki на сайте Notepad ++ по этой теме:
" Как заменить концы строк, тем самым изменив макет строки".
(упомянутый georgiecasey в его/ее ниже)

Некоторые соответствующие выдержки включают следующие процессы поиска:

Простой поиск (Ctrl+ F), Режим поиска = Normal

Вы можете выбрать EOL в окне редактирования.

  • Просто переместите курсор в конец строки и введите Shift + Right Arrow.
  • или, чтобы выбрать 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) без регулярного выражения

Ctrl + M будет вставлять что-то, что соответствует символам новой строки. Они будут заменены на строку замены.
Я рекомендую этот метод как самый надежный, если вам действительно не нужно использовать регулярное выражение.
В качестве примера, чтобы удалить каждую вторую строку новой строки в двустрочном файле, дважды введите Ctrl + M в строку строки поиска и один раз в поле строки замены.

Расширенный поиск (Ctrl + R) с Regexp.

Ни Ctrl + M, $, ни \r\n не совпадают.


В той же wiki также упоминается альтернатива Hex editor:

  • Введите новую строку в начале документа.
  • Затем выберите просмотр документа в шестнадцатеричном режиме.
  • Выберите одну из новых строк и нажмите Ctrl + H.
  • Пока у вас есть диалоговое окно "Заменить" вверх, выберите в фоновом режиме новую строку замены и Ctrl + C скопировать ее, чтобы вставить ее в "Заменить" с помощью текстового ввода.
  • Затем замените или замените все по своему усмотрению.

Примечание: символ, выбранный для новой строки, обычно отображается как 0a.
Это может иметь другое значение, если файл находится в формате Windows. В этом случае вы всегда можете перейти на Edit -> EOL Conversion -> Convert to Unix Format, а после замены заменить его и Edit -> EOL Conversion -> Convert to Windows Format.

Ответ 2

Похоже, что это FAQ, и предлагаемое разрешение:

Простой поиск (Ctrl + H) без регулярного выражения

Вы можете включить View/Show End of Line или просмотреть/Показать все и выбрать видимые символы новой строки. Тогда, когда вы запускаете команду некоторыми символами соответствие символа новой строки будет вставлен в поле поиска. Матчи будет заменена заменой строка, в отличие от режима регулярного выражения.

Примечание 1: Если вы выберете их с помощью мышь, начните перед ними и перетащите к началу следующей строки. Перетаскивание до конца строки не будет Работа.

Примечание 2: Вы не можете копировать и вставлять их в поле себя.

Расширенный поиск (Ctrl + R) без регулярного выражения

Ctrl + M вставляет что-то, что соответствует символам новой строки. Они будут заменены на строку замены.

Ответ 3

В диалоговом окне "Заменить" вы хотите установить режим поиска "Extended". Нормальные или регулярные режимы выражения не будут работать.

Затем просто найдите "\ r\n" (или просто \n для файлов unix или просто \r для файлов формата Mac) и установите замену на все, что вы хотите.

Ответ 4

Мне не повезло с регулярными выражениями из окна поиска/замены.

Однако это работает в Notepad ++ v4.1.2:

  • Используйте меню "Показать | Показать конец строки", чтобы включить отображение символов конца строки. (Каналы возврата каретки должны отображаться как один затушеванный символ CRLF.)

  • Выберите один из символов CRLF (поместите курсор прямо перед ним, удерживайте клавишу SHIFT, а затем один раз нажмите клавишу RIGHT CURSOR).

  • Скопировать символ CRLF в буфер обмена.

  • Убедитесь, что диалоговое окно find или find/replace не открывается.

  • Откройте диалог поиска/замены. В поле "Найти что" отображается содержимое буфера обмена: в этом случае символ CRLF, который отображается как 2 "полевые символы" (предположительно это непечатаемый символ?)

  • Убедитесь, что параметр "Регулярное выражение" выключен.

Теперь вы можете рассчитывать, находить или заменять по желанию.

Ответ 5

Изображение с CRLF

enter image description here


Изображение без CRLF

enter image description here

Ответ 6

Как я его нашел, это использовать функцию Replace и использовать "\n" в режиме "Extended". Я использую версию 5.8.5.

Ответ 7

В 2013 году, v6.13 или новее, используйте:

Меню Правка → Преобразование EOL → Формат Windows.

Ответ 8

Предполагая, что у него есть поиск "регулярных выражений", найдите \r\n. Я предпочитаю \r?\N, потому что некоторые файлы не используют возврат каретки.

EDIT: Спасибо за отзывы, кто бы ни проголосовал за это. Я узнал, что... ну, ничего, потому что вы не дали никакой обратной связи. Почему это неправильно?

Ответ 9

Используйте функцию расширенного поиска (Ctrl + R) и используйте сочетание клавиш для CRLF (Ctrl + M), чтобы вставить возврат каретки.

Ответ 10

Если вам нужно выполнить сложную замену регулярного выражения, включающую \r\n, вы можете обойти ограничение с помощью трехэтапного подхода:

  1. Заменить все \r\n тегом, скажем, #GO# → Проверить 'Extended', заменить \r\n на #GO#
  2. Выполните регулярное выражение, например, удалите многострочный ICON="*" из html-закладок → Проверьте регулярное выражение, замените ICON=.[^"]+.> by >
  3. Поставить обратно \r\n → Проверить 'Extended', заменить #GO# на \r\n

Ответ 11

Перейдите на View--> Показать symbol--> Показать всех персонажей//Это сработало для меня

Ответ 12

Я открыл файл в Notepad++ и сделал замену в несколько шагов:

  1. Заменить все "\ r\n" на "\ r\n"
  2. Заменить все ";\r\n" на "\ r\n"
  3. Заменить все "\ r\n" на ""

Это помещает все разрывы, где они должны быть, и удаляет те, которые разбивают файл.

Это сработало для меня.

Ответ 13

Сделайте эту настройку. Меню- > Вид- > Показать символ- > снимите флажок Показывать конец строки

Ответ 14

Я был совершенно не в состоянии сделать это в NP v6.9. Я нашел это достаточно легко на Microsoft Word (2K).

Откройте документ, перейдите к edit-> заменить.

Затем в нижней части окна поиска нажмите "еще", затем найдите кнопку "Специальные", и у них есть несколько вещей для вас. Для стиля Dos я использовал "параграф". Это пара в земле.

Ответ 15

Чтобы изменить документ отдельных строк в одну строку, каждая строка формирует одну запись в списке, разделенном запятыми:

  • ctrl + f, чтобы открыть поиск/заменитель.
  • Перейдите на вкладку "Заменить".
  • Заполните запись "Найти что" с помощью "\r\n".
  • Заполните запись "Заменить на" "," или "," (в зависимости от предпочтения).
  • Отметьте флажок "Матч всего слова" (важный бит, который ускользает от логики).
  • Установите переключатель "Extended".
  • Нажмите кнопку "Заменить все".

Эти шаги включают, например,

foo bar

bar baz

baz foo

в

foo bar, bar baz, baz foo

или: (в зависимости от предпочтения)

foo bar, bar baz, baz foo

Ответ 16

Может быть, вы можете использовать плагины TextFX

В TextFX перейдите к редактированию textfx → удалите пустые строки

Ответ 17

Просто сделайте a\r с помощью find и замените пробел в поле replace, чтобы все было в одной строке. Затем выполните поиск и замените (в моем случае - на двоеточие) и замените на:\n

:) -T & С

Ответ 18

Чтобы найти любой вид последовательности разрыва строки, используйте следующую конструкцию регулярного выражения:

\R

Чтобы найти и выбрать последовательные последовательности разрыва строки, добавьте + после \R: \R+.

Убедитесь, что вы включили режим регулярных выражений:

enter image description here

Это соответствует:

  • U+000DU+000A - CRLF 'последовательность
  • U+000A - LINE FEED, LF
  • U+000B - LINE TABULATION, VT
  • U+000C - FORM FEED, FF
  • U+000D - CARRIAGE RETURN, CR
  • U+0085 - NEXT LINE, NEL
  • U+2028 - LINE SEPARATOR
  • U+2029 - PARAGRAPH SEPARATOR