Как мне найти / заменить все символы CR / LF в Notepad ++?
Я ищу что-то эквивалентное специальному символу ^ p в Microsoft Word.
[\r\n]+
должно работать тоже
Обновление 26 марта 2012 года, дата выпуска Notepad ++ 6.0 :
О боже, это действительно работает сейчас !!!
Оригинальный ответ 2008 (Блокнот ++ 4.x) - 2009-2010-2011 (Блокнот ++ 5.x)
На самом деле нет, похоже, не работает с регулярным выражением ...
Но если у вас Notepad ++ 5.x, вы можете использовать расширенный режим поиска и искать \r\n
. Это находит все ваши CRLF
.
(Я понимаю, что это тот же ответ, что и другие, но, опять же, «расширенный режим» доступен только в Notepad ++ 4.9, 5.x и более)
С апреля 2009 года на сайте Notepad ++ появилась статья на эту тему:
« Как заменить концы строк, изменив таким образом макет строк ».
(упомянуто Георгиевской в его / ее ответе ниже )
Некоторые соответствующие выдержки включают в себя следующие поисковые процессы:
Простой поиск ( Ctrl+ F), режим поиска =
Normal
Вы можете выбрать
EOL
в окне редактирования.
- Просто переместите курсор в конец строки и введите Shift+ RightArrow.
- или, чтобы выбрать
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-редактору :
- Введите новую строку в начале документа.
- Затем выберите для просмотра документа в режиме Hex .
- Выберите одну из новых линий и нажмите Ctrl+ H.
- Когда у вас открыто диалоговое окно «Заменить», выберите на фоне новую строку замены и Ctrl+ Cскопируйте ее, чтобы вставить ее в текстовый ввод «Заменить».
- Затем заменить или заменить все, как вы хотите.
Примечание: символ, выбранный для новой строки, обычно отображается как
0a
.
Может иметь другое значение, если файл в формате Windows. В этом случае вы всегда можете перейти кEdit -> EOL Conversion -> Convert to Unix Format
, а после замены переключить его обратно иEdit -> EOL Conversion -> Convert to Windows Format
.
[^\r]\n
работает отлично (поиск по регулярному выражению): i.stack.imgur.com/PxZWD.png
Похоже, что это часто задаваемые вопросы , и предлагаемое разрешение:
Простой поиск (Ctrl + H) без регулярных выражений
Вы можете включить Просмотр / Показать конец строки или просмотреть / Показать все, и выберите теперь видимые символы новой строки. Затем при запуске команды некоторые символы, соответствующие символу новой строки, будут вставлены в поле поиска. Совпадения будут заменены строкой замены, в отличие от режима регулярных выражений.
Примечание 1: если вы выделите их мышью, начните прямо перед ними и перетащите в начало следующей строки. Перетаскивание до конца строки не сработает.
Примечание 2: Вы не можете скопировать и вставить их в поле самостоятельно.
Расширенный поиск (Ctrl + R) без регулярных выражений
Ctrl + M вставит что-то, что соответствует переводу строки. Они будут заменены строкой замены.
В диалоговом окне «Замена» вы хотите установить режим поиска «Расширенный». Обычные или обычные выражения не будут работать.
Затем просто найдите «\ r \ n» (или просто \ n для файлов Unix или просто \ r для файлов формата Mac) и установите замену на то, что вы хотите.
\r
с 2001 года ... (сейчас он unix)
Мне не очень повезло с регулярными выражениями \ r \ n из окна поиска / замены.
Тем не менее, это работает в Notepad ++ v4.1.2:
Используйте меню «Вид | Показать конец строки», чтобы включить отображение символов конца строки. (Перевод строки возврата каретки должен отображаться в виде однотонного символа CRLF.)
Выберите один из «символов» CRLF (поместите курсор непосредственно перед ним, удерживайте нажатой клавишу SHIFT, а затем один раз нажмите клавишу RIGHT CURSOR).
Скопируйте символ CRLF в буфер обмена.
Убедитесь, что у вас не открыто диалоговое окно поиска или поиска / замены.
Откройте диалог поиска / замены. Поле «Найти что» отображает содержимое буфера обмена: в данном случае это символ CRLF, который отображается как 2 «прямоугольных символа» (предположительно, это непечатный символ?)
Убедитесь, что опция «Регулярное выражение» выключена.
Теперь вы должны иметь возможность считать, находить или заменять по желанию.
Изображение с CRLF
Изображение без CRLF
Я нашел, как это работает, с помощью функции Replace и с помощью «\ n» в режиме «Extended». Я использую версию 5.8.5.
В 2013 году, v6.13 или новее, используйте:
Меню Правка → Преобразование EOL → Формат Windows .
Предполагая, что поиск выполняется по "регулярным выражениям", ищите \ r \ n. Я предпочитаю \ r? \ N, потому что некоторые файлы не используют возврат каретки.
РЕДАКТИРОВАТЬ: Спасибо за отзыв, кто бы ни проголосовал за это. Я узнал, что ... ну, ничего, потому что вы не предоставили обратной связи. Почему это не так?
Используйте функцию расширенного поиска ( Ctrl+ R) и используйте сочетание клавиш для CRLF ( Ctrl+ M), чтобы вставить возврат каретки.
DC2
". Версия Notepad ++: 7.5.6 (2018-05-19).
Если вам нужно выполнить сложную замену регулярного выражения, включая \ r \ n, вы можете обойти ограничение с помощью трехэтапного подхода:
\r\n
тегом, скажем, #GO#
→ Проверить «Расширенные», заменить \r\n
на#GO#
ICON="*"
из HTML-закладок → Проверьте регулярное выражение, заменитеICON=.[^"]+.> by >
#GO#
на\r\n
Зайдите в Вид -> Показать символ -> Показать все символы // Это сработало для меня
Сделайте эту настройку. Меню-> Вид-> Показать символ-> снять флажок Показать конец строки
Я открыл файл в Notepad ++ и сделал замену в несколько шагов:
Это помещает все разрывы, где они должны быть, и удаляет те, которые разбивают файл.
Это сработало для меня.
Я был совершенно не в состоянии сделать это в NP v6.9. Я нашел это достаточно легко на Msoft Word (2K).
Откройте документ, перейдите к редактировать-> заменить.
Затем в нижней части окна поиска нажмите «еще», затем найдите кнопку «Специальные», и у них есть несколько вещей для вас. Для стиля Dos я использовал «параграф». Это пара в окнах земли.
Просто сделайте \ r с находкой и замените пробел в поле замены, чтобы все доходило до одной строки. Затем найдите и замените (в моем случае точкой с запятой) и замените на \ n
:) -T & C
Чтобы преобразовать документ из отдельных строк в одну строку, где каждая строка образует одну запись в списке через запятую:
\r\n
".,
» или « ,
» (в зависимости от предпочтений).Эти шаги превращаются, например,
фу бар
Бар Баз
Баз Фу
в:
фу бар, бар баз, баз фу
или: (в зависимости от предпочтений)
фу бар, бар баз, баз фу
Может быть, вы можете использовать плагины TextFX
В TextFX перейдите к редактированию textfx → удалите пустые строки
Чтобы найти любой вид последовательности разрыва строки, используйте следующую конструкцию регулярного выражения:
\R
Для того, чтобы найти и выбрать последовательные последовательности линии разрыва, добавить +
после \R
: \R+
.
Убедитесь, что вы включили режим регулярных выражений :
Это соответствует:
U+000DU+000A -
CRLF` последовательностьU+000A
- LINE FEED
, Л.Ф.U+000B
- LINE TABULATION
, VTU+000C
- FORM FEED
, FFU+000D
- CARRIAGE RETURN
, ЧРU+0085
- NEXT LINE
, NELU+2028
- LINE SEPARATOR
U+2029
- PARAGRAPH SEPARATOR
CTRL+H
выберите «Режим поиска: Регулярное выражение». «Найти что: $» и «Заменить на: \ r». Скопируйте, вставьте содержимое в Блокнот или сохраните его на диск.[\r\n]+
сейчас, работают. Я обновил свой ответ, и буду праздновать!\R
которая соответствует общей новой строке; то есть все, что считается последовательностью разрыва строки ...