вторник, 28 ноября 2017 г.

Найти и заменить. Приводим в порядок текст, вставленный в документ из других программ

Очень часто мы создаем документы методом копипасты кусков текста из разных источников и последующего приведения этих кусков текста к единому виду и более или менее наличию смысла в тексте в общем.
С чем чаще всего мы сталкиваемся в этих кусках скопированного текста?
Более одного пробела идущего подряд, знаки разрыва строки вместо знака абзаца, абзацы разделены друг от друга пустыми абзацами, некие спецсимволы в большом количестве.
Перво наперво нужно включить отображение непечатаемых символов. Делается это путем нажатия на соответствующий значок на панели инструментов или нажать сочетание клавиш Ctrl + F10, или выбрать пункт меню Вид > непечатаемые символы.
Для устранения этих "проблем" в тексте нужно использовать диалог "Найти и заменить", вызываемый по нажатию сочетания клавиш Ctrl+H или из меню "Правка".
Замена множества знаков пробелов идущих подряд на один такой же знак:
1. В диалоге "Найти и заменить" в строку "Найти" вбиваем \s+
2. В строку "Заменить" вбиваем один пробел (он не будет обозначен каким-то специальным символом, его не будет видно, но по положению курсора в строке понятно, что пробел таки есть)
3. Далее раскрываем "Другие параметры" и отмечаем галочкой опцию "Регулярные выражения"
4. Нажимаем на кнопку "Заменить все". На этом всё.
Замена знака разрыва строки на знак абзаца (если этого не сделать, то, не смотря на перенос строки, Либра будет считать текст одним абзацем и применять стили соответственно, что может весьма удивить пользователя):
1. В диалоге "Найти и заменить" в строку "Найти" вбиваем \n
2. В строку "Заменить" также вбиваем \n
3. "Регулярные выражения" также должны быть активированы
4. Нажимаем на кнопку "Заменить все". На этом всё.
Замена нескольких подряд идущих знаков абзаца на один знак абзаца:
1. В диалоге "Найти и заменить" в строку "Найти" вбиваем ^$ (знак доллара!)
2. В строку "Заменить" ничего не вбиваем!
3. "Регулярные выражения" также должны быть активированы
4. Нажимаем на кнопку "Заменить все". На этом всё.

Вся эта информация есть на просторах интернета, этот пост я сделал больше для себя. 

2 комментария:

  1. Небольшое уточнение:

    Замена \s+ на пробел заменяет все пробельные символы, к которым относится, в т.ч., знак табуляции. Следует это учитывать. Если требуется заменить строго пробелы, то вместо \s перед плюсом нужно поставить опять же пробел (его не видно, но он есть ;-) )

    ОтветитьУдалить
  2. Первое, что бы я посоветовал — это включить режим отображения непечатаемых знаков «Переключить непечатаемые символы» (Ctrl+F10)

    ОтветитьУдалить