Замена знаков абзаца

Автор Leonid-ooo, 23 октября 2011, 23:04

0 Пользователи и 1 гость просматривают эту тему.

Leonid-ooo

Как заменить два подряд знака абзаца на один по всему документу?

JohnSUN

Будьте добры, уточните, пожалуйста: первый из "знаков абзаца" стоит после текста, а второй после пустой строки? То есть, требуется убрать пустые строки? Или нужно отыскать все пары пустых строк и превратить их в одиночные пустые строки?

Для первого случая самое быстрое: Поиск и замена, регулярные выражения - да, строка поиска ^$, Найти все, Закрыть, Delete.
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

Рыбка Рио

Цитата: JohnSUN от 24 октября 2011, 19:26регулярные выражения - да, строка поиска ^$, Найти все, Закрыть, Delete.
Или "Заменить все"
ubuntu 12.04 + LibO3.6.0

JohnSUN

А вот с этим - осторожно! В некоторых программах эта операция начала приводить к зависанию офиса... Наверняка где-то в багах отмечена и будет исправлена. Но было бы обидно потерять не сохраненную работу...
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

Ivanych

Даже не в некоторых программах, а там, где найденный пустой абзац находится в таблице. Виснет намертво (отработано на OOo и LO при выполнении студентами лаб, в которые я включил сабж). Возникает в том случае, если используется "Заменить все". Точно не помню, но разделение операции на две: "Найти все" и "Заменить" отрабатывает нормально.

Leonid-ooo

пытался убрать пустые строчки
в замене   ^$^$   на ^$
отказ!
см. прилагаемый скриншот "абзац"
Что делать?



[вложение удалено Администратором]

RFJ

Цитата: JohnSUN от 24 октября 2011, 19:26нужно отыскать все пары пустых строк и превратить их в одиночные пустые строки
В такой постановке это интересная задачка!
(как вариант: иные (одиночные, тройные, четверные и т.д. не трогать!)

JohnSUN

Да нет, пожалуй, "четверные" - это две "парных"... Именно об этом я переспрашивал, когда топик только начался.

Поскольку поиск по регулярным выражениям работает только в пределах одного абзаца, то простым Поиском-Заменой здесь не обойтись. Самый простой и быстрый способ - макрос. И таких макросов уже написано несколько. Например у Питоньяка в "7.3.7 Removing Empty Paragraphs, Yet Another Example". Но там в коде опечатка, во второй строке должно быть oText = oLCurs.getText()
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

RFJ

А если "четверные" - это "четверные", а не две "парных" ("пара пустых строк" ограничены текстом).
И "тройные" - это "тройные", а не "одна пустая строка"+"пара пустых строк".

Leonid-ooo

В MSOffice все без проблем ^$^$   на ^$ заменить все. Повторить раза 3-4 и пустых строчек не останется. 
Почему OpenOffice.org эту пару символов ^$ не находит?

bormant

Leonid-ooo, потому что
Цитата: JohnSUN от 27 октября 2011, 12:51поиск по регулярным выражениям работает только в пределах одного абзаца,
Пару ^$ он, как раз, находит, а вот хоть на символ больше после $ -- ни-ни.
Автору на яд. Поддержать форум.

Leonid-ooo

К сожалению он вообще не ищет.

[вложение удалено Администратором]

Рыбка Рио

Есть расширение AltSearch, которое умеет искать блоки пустых абзацев: Alternative dialog Find & Replace for Writer (если ссылка не работает можно взять тут: http://ubuntuone.com/28z1vEMIncLptTcr4IMdHl )
ubuntu 12.04 + LibO3.6.0

Рыбка Рио

Чтобы найти 2 нужно ввести в строку поиска ^$\p , чтобы 3 - ^$\p\p и т.д. (в AltSearch)
ubuntu 12.04 + LibO3.6.0

RFJ

Цитата: Клио от 27 октября 2011, 23:05
Чтобы найти 2 нужно ввести в строку поиска ^$\p , чтобы 3 - ^$\p\p и т.д. (в AltSearch)
Сносит нафиг таблицу!