Соответствие (и удаление) символа LF в Notepad ++ regex

В Notepadd ++ регулярное выражение \r\n найдет все комбинации CRLF. Но у меня есть несколько строк, которые заканчиваются только с LF s. Прежде всего, что это? Затем, как я могу совместить и удалить только это? Ни \r, либо \n не работает.

Ответы

Ответ 1

LF означает 'Line Feed'

Вы можете прочитать еще один этот ответ на serverfault.se:

CR LF означает "Возврат каретки, подача линии" - это похмелье DOS от в прежние дни, когда некоторые устройства требовали возврата каретки и некоторые устройства потребовали Line Feed, чтобы получить новую строку, поэтому Microsoft решили просто сделать новую строку, имеют оба персонажа, чтобы они будет корректно выводиться на все устройства.

Программы Windows ожидают, что их формат новой строки в CRLF (\r\n). * Никс ожидайте только данные LF (\n). Если вы открываете текстовый документ Unix в Блокноте на окнах вы заметите, что все разрывы строк исчезают и весь документ находится на одной линии. Это потому, что Блокнот ожидает Данные CRLF и документ Unix не имеют символа \r.

Есть приложения, которые преобразуют это для вас на стандартном * nix distro (dos2unix и unix2dos)

Для тех, кто задается вопросом, возврат каретки и подача строки отличаются от назад в дни пишущей машинки, когда возврат каретки и линия подачи были две разные вещи. Можно было бы довести до начала линии (Возврат каретки), и один переместит вас на один ряд ниже, но в то же горизонтальное расположение (подача строки)

Таким образом, вы можете заменить его на \n.

enter image description here

enter image description here

Ответ 2

Используя здравый смысл, я предлагаю следующий подход:

  • Замените все CRLF какой-нибудь специальной строкой (что вы уверены, нет в файле), скажите "fuuuuuu!!!".
  • Замените LF пустой строкой.
  • Заменить все специальные строки ( "fuuuuuu!!!" ) обратно с помощью CRLF.

И все готово.

Ответ 3

Установите кодировку в ANSI.

Тогда\n увидит только "LF"

Ответ 4

Документация Notepad++ указывает, что \n является символом LF, но для меня в Notepad v7.5.9\n не соответствует LF. Ничего из \r,\r\n или\n\r не делает, ни то, ни другое не имеет смысла. Я также пробовал \xa,\x0a (hex для ascii LF) и \x10 (dec для ascii LF). Поскольку мне нужно заменить много LF, было бы неплохо иметь метод, который бы соответствовал им! Спасибо!