Заменить возврат каретки и перевод строки в Notepad ++


72

У меня есть файл со смесью CRLF и LF, и я хочу удалить LF. Я новичок в Notepad ++ и только что скачал V6.23.

Я использую диалоговое окно поиска / замены в расширенном режиме. Он найдет и посчитает CR LF (используя \ r \ n), но если я сделаю замену (например, пробел или \ r), ничего не произойдет, а замена все говорит, что она заменила 0 вхождений. В файле около 1000 CRLF и может быть 100 LF Lone.

Есть идеи?


Итак, вы хотите заменить CRLF на CR, а LF на пробел (или просто удалить автономные LF)? Кроме того, это должно быть только через Notepad ++?
Каран

Я хочу удалить автономный LF. Это не обязательно должно быть Notepad ++, хотя я не понимаю, почему Notepad ++ не может этого сделать.
Алан

руководство для notepad2, которое я использую: blog.jtbworld.com/2011/01/…
Hayden Thring

Я отправил бы файл кому-нибудь с Visual Studio (если он у вас не установлен), а затем открыл его там. Это должно вызвать у вас вопрос, может ли Visual Studio «автоматически» «нормализовать» символы конца строки (при открытии файла).
Стейн Осмул

Ответы:


69

Задача: Файл имеет сочетание CRLF и LF , и вы хотите получить только CRLF и удалить все автономные экземпляры LF .

  1. Файл:
    1

  2. Файл (Показать все символы):
    2

    Теперь, если вы удалите только автономный LF в конце строки 3, вы должны в итоге соединить строки 3 и 4 вместе с остальными окончаниями строки без изменений.

  3. Заменить # 1 ( \nс (blank)):
    3

  4. Файл после замены № 1:
    4

  5. Заменить № 2 ( \rс \r\n):
    5

  6. Файл после замены № 2:
    6

  7. Конечный результат:
    7

Вывод: Notepad ++, кажется, в состоянии сделать работу просто отлично!


36

В меню Notepad ++ щелкните « Правка» → « Преобразование EOL» → « Старый Mac», чтобы отформатировать файлы целиком.

Изображение Как это сделать.


2
Я думаю, что вы имеете в виду «EOL Conversion», но это было именно то, что я искал! Спасибо!
Гэри

Я считаю, что это более последовательный способ поиска / замены. В notepad ++ есть странное поведение: если первой строкой файла является \ r \ n, поиск не распознает его, как и все остальные \ r \ n в документе. EOL Conversion не сталкивается с этой проблемой
demongolem

Официальная документация Notepad ++, относящаяся к окончанию строки: docs.notepad-plus-plus.org/index.php/Lines_And_Blocks
Julian

Немецкий язык: Bearbeiten -> Формат Zeilenende -> UNIX (LF)
PeterCo

3

Вы можете просто скопировать все в WordPad, создать новый текстовый файл с помощью Notepad ++ и вставить его обратно в новый файл из WordPad. Каждая строка должна иметь CR сейчас.


Работал с файлом , который имел смесь CR LF, CRиLF
pkr298

2

Вот СУПЕР ПРОСТОЙ ПУТЬ ....

Выделите весь текст, который хотите изменить, и затем нажмите «Редактировать меню» -> «Операции с линиями» -> «Объединить линии».

-Или же-

Просто нажмите CONTROL + A, а затем CONTROL + J, чтобы сделать то же самое.


1

возможно, вы случайно включили опцию «показать все символы» в редакторе

блокнот ++ набор инструментов


Ух ты. Только эта опция работает для меня.
Раджив Ратор


0

Убедитесь, что выбрана кнопка Показать все символы. Используйте Alt и перетащите курсор мыши только на текст, который вы хотите скопировать и вставить. НЕ ВЫБИРАЙТЕ CR | LF. CR | LF будет оттеснен. Сделайте то же самое, когда вставляете и используете Alt, не выбирайте CR | LF и нажимайте Ctrl-> v. Это добавить список текста в отдельный файл со списком текста.


Добро пожаловать в Супер пользователя! Пожалуйста, внимательно прочитайте вопрос. Ваш ответ не отвечает на оригинальный вопрос. Похоже, что это ответ на какой-то другой совершенно другой вопрос.
DavidPostill

0

Могу ли я просто предположить, что 2 самых обычных окончания строки - это CRLF или LF.

Если вы удалите LF, вы закончите с окончаниями строки только CR. Это нестандартно.

Это (в зависимости от вашего использования) может сломать кучу вещей. Например, если вы сделаете это, файл windows hosts будет поврежден (просто потратил кучу времени на обращение в службу поддержки по этому вопросу).


-1

В диалоге поиска есть три режима поиска, а именно: обычный, расширенный (\ n, \ r, \ O, \ x ...) и регулярное выражение. Моя по умолчанию имеет значение Normal, но вам нужно Extended для escape-символов.


-1

Я столкнулся с подобной проблемой. Я выполнил следующие шаги, чтобы удалить LF с CRLF

  1. Открыть файл с помощью блокнота ++
  2. Нажмите «Правка» -> «Преобразование EOL» -> «Формат Windows» (добавится замена LF на CRLF).
  3. Сохранить файл

1
OP хочет удалить LF из пары CR / LF, но сохранить существующий только LF без изменений. Ваш ответ заменит одиночные LF парой CR / LF, оставляя существующие пары CR / LF без изменений. Возможно, полезно, но противоположно тому, что хочет ОП.
CVn

-1

Откройте файл в Notepad ++.

Шаг 1) вставьте деформацию слов (просмотр переноса слов)
Шаг 2) перейдите к поиску .. нажмите: найти символ на вкладке диапазона

В окне поиска у вас есть диапазон от 10 до 10. Затем вы сможете найти все вхождения CR / LF и LF.

Удалите вручную, если файл очень маленький.


-1

Скопируйте весь текст на новую вкладку, это автоматически заменит специальные символы. Основная проблема с методом find replace заключается в том, что текстовый формат / выравнивание искажен.


Вы действительно пробовали это? Подсказка: это не работает.
Дэвид Постилл

-1

Основываясь на ответах выше, я придумал одну замену для решения этой проблемы, которая была у меня самой.

Вместо того чтобы заменить "\r\n"для "\n"и делать это снова, я заменил "\r\n"на ""(ничего), то это было сделано. Я также отметил «Обтекание» и поле рядом с ним, расширяя возможные регулярные выражения.

По какой-то причине необходимо заменить двойные пробелы одним пробелом после, но "\r\n"это решается после первой замены.

введите описание изображения здесь


"Я заменил" \ r \ n "на" "(ничего)" - это не действие, запрошенное в вопросе.
Матэ Юхас

Я хотел бы пояснить, что для решения этой проблемы предложено, чтобы все упомянутые мной шаги были необходимы.
Родриго Араужо,

-1

Функция преобразования EOL в меню «Правка» отлично справляется с задачей, как уже упоминалось, - очень быстро, очень просто, очень точно. Я заметил кое-что немного странное, поэтому я добавляю свои два цента.

Я стремился к кодированию Windows. В некоторых моих файлах у меня не было возможности выбрать «Формат Windows», потому что он был серым, я полагаю, потому что большая часть файла использовала символы конца строки Windows. Простое решение состояло в том, чтобы выбрать один из двух других вариантов («Формат UNIX / OSX» или «Старый формат Mac»), а затем еще раз перейти к «Редактировать -> Преобразование EOL», и теперь стал доступен формат Windows.


Этот ответ дублирует другой ответ, приведенный здесь.

-1

Чтобы удалить CRLF, вы должны выбрать значок в верхней части с надписью «Показать все символы», и они исчезнут. Просто сканируйте мышкой и найдите тот, который выглядит как обратный P.


Когда вы даете ответ, желательно дать какое-то объяснение, ПОЧЕМУ ваш ответ тот.
Стивен Раух
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.