2

Я хочу удалить новую строку, созданную после каждого имени в файле журнала чата. Пример:

Person1:[space]
their message
Person2:[space]
their message

Поэтому я установил расширенный поиск в Find & Replace и ищу строку:

: \r

И установите его на:

:[space]

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

Какие-либо предложения?

3 ответа3

3

Найдите : \r\n и замените на :[space]

Вам нужно найти возврат каретки (CR) и перевод строки (LF).

2
  • Ctrl+H
  • Найти что:: :\h+\R
  • : (точку с запятой с последующим пробелом)
  • проверить обернуть
  • проверьте регулярное выражение
  • Заменить все

Объяснение:

:       : a semicolon
\h+     : 1 or more horizontal spaces
\R      : any kind of linebreak (ie. \n, \r or \r\n)

Результат для данного примера:

Person1: their message
Person2: their message    
0

Как уже упоминалось в другом ответе, вам нужно изменить \r на \r\n . Это потому, что Windows использует комбинацию возврата каретки (CR в Notepad++ или \r) и перевода строки (LF в Notepad++ или \n) для обозначения новых строк.

Что касается вашей проблемы, Notepad++ рассматривает замену \r буквально (поэтому ваша последняя замена на самом деле [space] \n). А поскольку другие операционные системы используют символы \n (Linux) или \r (по умолчанию в MacOS, если я не ошибаюсь) для символов "новой строки", Notepad++ также обрабатывает их таким же образом (т.е. представляет их как разрывы строк, следовательно нет "натыкаясь").

Заметки

  • Если вам когда-либо понадобится увидеть символы форматирования (табуляции, пробелы, конец строки), вы можете использовать Вид> Показать символ, чтобы увидеть их.

  • При замене обязательно пометьте Extended или Regular expression в Search Mode .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .