Найти CRLF в Notepad ++ - PullRequest
       27

Найти CRLF в Notepad ++

306 голосов
/ 25 сентября 2008

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

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

Ответы [ 17 ]

395 голосов
/ 25 сентября 2008

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

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

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

PCRE regexp in Notepad++


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

На самом деле нет, похоже, не работает с регулярным выражением ...

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

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


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

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

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

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

  • Просто переместите курсор в конец строки и введите Shift + Вправо Стрелка.
  • или, чтобы выбрать EOL с помощью мыши, начните с конца строки и перетащите в начало следующей строки; перетаскивание вправо от EOL не будет работать. Вы можете вручную скопировать EOL и вставить его в поле для файлов Unix (LF -только).

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

Параметр «Расширенный» показывает \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 ) с помощью регулярного выражения.

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


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

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

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

22 голосов
/ 08 октября 2008

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

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

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

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

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

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

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

10 голосов
/ 25 сентября 2008

В диалоговом окне «Замена» вы хотите установить режим поиска «Расширенный». Режимы обычного или регулярного выражения не будут работать.

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

9 голосов
/ 25 сентября 2008

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

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

  1. Используйте меню «Вид | Показать конец строки», чтобы включить отображение символов конца строки. (Перевод строки возврата каретки должен отображаться в виде однотонного символа CRLF.)

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

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

  4. Убедитесь, что у нет открытого диалогового окна поиска или поиска / замены.

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

  6. Убедитесь, что опция «Регулярное выражение» выключена.

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

6 голосов
/ 28 марта 2016

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

enter image description here


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

enter image description here

4 голосов
/ 01 декабря 2010

Я нашел способ работать с помощью функции Replace и использования \ n в расширенном режиме. Я использую версию 5.8.5.

4 голосов
/ 27 мая 2013

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

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

2 голосов
/ 25 сентября 2008

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

2 голосов
/ 27 марта 2012

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

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

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

...