Как удалить разрывы строк (или возврат каретки) только из определенных частей блока текста?

всякий раз, когда я копирую форматированный текст из файла PDF, который отформатирован, чтобы иметь разрывы строк (или возврат каретки), мне нужно найти способ удалить эти разрывы строк без удаления формата абзаца.

чтобы сделать это, мне нужно использовать регулярное выражение (Regex), чтобы удалить только разрывы строк, которым не предшествует точка.

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

моя проблема в том, что я не знаю, как использовать регулярное выражение, чтобы удалить только теги ^p в word или CRLF или разрывы строк в любом формате при условии, что он пропускает их после периода.

28
задан Luke Allen
14.03.2023 20:32 Количество просмотров материала 3302
Распечатать страницу

4 ответа

решение для MS Word:

  1. Открыть Поиск И Замена ( Ctrl+H) и установите флажок "Использовать подстановочные знаки". Если параметр "использовать подстановочные знаки" не отображается, нажмите кнопку "Дополнительно".
  2. скопируйте следующее В поле "найти что":([!.])^0013
  3. скопируйте следующее В поле "заменить что":
  4. Нажмите "Заменить Все"

пояснение:

  • [!.] означает "найти все символ, кроме точки"
  • ^0013 - это Знак абзаца, поэтому в "Найди то, что" мы найдем всех-точка следуют символ абзаца
  • скобки означают, что мы поместим этот символ в память, чтобы использовать его позже
  • \1 заменяет наш заученный символ в том месте, где мы его находим

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

3
отвечен mar4enk0 2023-03-16 04:20

в Word попробуйте найти и заменить ручной разрыв строки ^l с абзаца ^p.

0
отвечен hsawires 2023-03-16 06:37

потому что предложения могут заканчиваться большим количеством знаков препинания, чем период, который я обновил hsawires’ ответ to:

  1. найти каждый символ, кроме точки, вопросительный знак, восклицательный знак, закрыть кавычки или двоеточие.
  2. кроме того, в некоторых случаях вы хотите добавить пробел после в поле" заменить что", чтобы избежать объединения последнего слова в одной строке с первым словом в следующей строке.

решение для MS Слово:

  1. Открыть Поиск И Замена (Ctrl+H) и установите флажок "Использовать подстановочные знаки".
  2. если вы не видите опцию "Использовать подстановочные знаки", нажмите кнопку "Подробнее."
  3. скопируйте следующее В поле "найти что":([!.\?\!"':])^0013
  4. скопируйте следующее В поле "заменить что":
  5. Нажмите " Заменить Все."

объяснение:

[!.\?\!"':] означает "найти каждого символа кроме точки, вопросительного знака, восклицательного знака, закрывающей кавычки или двоеточия." - ^0013 - это Знак абзаца, поэтому в "Найти то, что" мы найдем каждый символ без точки, за которым следует Знак абзаца. - Скобки означают, что мы поместим этот символ в память, чтобы использовать его позже. - заменяет наш заученный символ в том месте, где мы его находим.

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

0
отвечен user1583016 2023-03-16 08:54

гораздо более простой способ создать / изменить блок адресов перед вырезанием и вставкой его в электронное письмо или другой документ-объявить таблицу строк 3/4 и ввести данные адреса в каждую строку. Тогда избавься от веревок.

0
отвечен Keawe 2023-03-16 11:11

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх