Writer.Поиск и замена: Часто задаваемые вопросы

From Apache OpenOffice Wiki
Jump to: navigation, search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
OOw.png Вопросы по ООо Writer
Графика
Импорт, внешние ссылки и связи

Интерфейс пользователя

Набор и форматирование
Поиск и замена
Сохранение и печать
Стили и шаблоны
Страницы, оглавление и сноски
Таблицы
Другие вопросы

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

Как удалить мягкие переносы?

Чтобы удалить все мягкие переносы, выделите какой-нибудь один мягкий перенос, нажмите Ctrl F, и нажмите "заменить всё" (поле для замены оставьте пустым).

3.1

Как заменить начертание шрифта в выделенном фрагменте, чтобы все символы одного шрифта стали другого цвета?

Диалог "Найти и заменить", использовать кнопку "Формат" и регулярное выражение. Replacefontscolor.png

2.4

Как пробелы в числах заменить на неразрывные пробелы?

В тексте разряды в числах разделяются пробелами. Для замены всех пробелов в числах на неразрывный пробел нужно воспользоваться заменой с регулярными выражениями.

  • Для этого в диалоге "Найти и заменить" нужно нажать кнопку "Больше параметров" и установить флажок "регулярные выражения". Затем
  • - в строке поиска ввести ([:digit:]) ([:digit:]{3})
  • - в строке замены ввести $1 $2

Примечание: В данном диалоге нельзя непосредственно ввести символ "неразрывный пробел". Но его можно предварительно ввести в документ, вырезать в документе и вставить в нужном месте в строке поиска или замены. Таким образом в строке $1 $2 на самом деле не пробел, а именно "неразрывный пробел".

3.0

Как найти символы абзаца, разрыва строки, табуляции?

Для поиска таких символов необходимо использовать регулярные выражения. В диалоге поиска и замены регулярные выражения включаются через "Дополнительные настройки".

Используйте для поиска следующие регулярные выражения:

  • символ разрыва строки - "\n", однако при использовании в поле замены это выражение будет обозначать символ абзаца;
  • символ абзаца - "$";
  • символ табуляции - "\t".

Подробнее см.: система помощи, закладка "Индекс", искомое выражение -- "регулярные выражения;список".


2.4

Как заменить символы разрыва строки на символы абзаца?

Последовательность действий при поиске и замене символов разрыва строк

Как сказано выше для поиска таких символов используются регулярные выражения (взведите флаг "Регулярное выражение" ).

Часто возникает задача заменить в тексте, например взятом из окна браузера, символы "\n" на символы абзаца для более корректного форматирования текста.

Попытка поставить в качестве замены символ "$" (конец абзаца) ни к чему хорошему, кроме вставки собственно символа "$", не приводит !

Как оказалось диалог поиска находит эти символы "\n", но и в качестве замены, в нашем случае, тоже надо указывать "\n" !!


3.2

Как составлять регулярные выражения?

Общие принципы написания регулярных выражений описаны в этой статье: http://ru.wikipedia.org/wiki/Регулярные_выражения

В ООо реализована поддержка регулярных выражений в поиске и замене. Для их использования ознакомьтесь со Списком регулярных выражений.

2.4

Как преобразовать тексты, набранные в старых текстовых (DOS), где в конце каждой строки стоят Enter'ы

Такие тексты характерны тем, что разделителями "абзацев" являются пустые абзацы.

  1. В этом случае нужно найти эти "истинные" разделители абзацев. Для этого регулярными выражениями заменить "символ абзаца в начале строки" на не встречающуюся в данном документе последовательность символов. Например "QWERTYTREWQ". Производится поиск "символа абзаца в начале строки". Регулярное выражение для этого (строка Найти): ^$ В строке Заменить вводим QWERTYTREWQ
  2. Далее - заменяем все символы абзаца на пробел. Т.е. в случае с "¶" - искать надо '$'. Регулярное выражение для этого (строка Найти): $ В строке Заменить просто нажимаем ПРОБЕЛ.
  3. Далее - делаем обратную замену "QWERTYTREWQ" на символ абзаца. Регулярное выражение для этого (строка Найти): QWERTYTREWQ В строке Заменить вводим \n

Если же переносы строк в абзацах отформатированы "мягким переводом строки" (Shift-Enter), то второй шаг немного меняется. В этом случае регулярное выражение в строке Найти будет \n В строке Заменить так же просто нажимаем ПРОБЕЛ.

2.4

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

Последовательность действий для подсчета непробельных символов

Для подсчёта слов и символов в документе используется команда Сервис - Количество слов   (выводятся данные по выделенному фрагменту (фрагментам) и по всему документу). Используйте для поиска регулярное выражение "[:space:]*" (любое количество идущих подряд пробелов) и кнопку "Найти все". Искомое количество непробельных символов получите в результате вычитания двух значений.

2.3

Как найти/заменить двойной пустой абзац? Я уже знаю про регулярные выражения, но всё равно не получается

Выдержка из помощи по регулярным выражениям: "Осуществлять поиск регулярных выражений можно только в пределах одного абзаца. То есть, поиск одного выражения в одном абзаце, а в следующем абзаце — другого выражения невозможен."

Но решение есть:

  • можно использовать промежуточные подстановки. Например: заменить сначала все ^$ на "ABZ", а потом искать/обрабатывать "ABZABZ".
Documentation note.png Внимание! Весь документ окажется в одном параграфе, а у OpenOffice.org существует ограничение на величину параграфа, не применяйте такой метод к объемным документам.
  • можно воспользоваться макросом из книги "Useful Macro Information For OpenOffice By Andrew Pitonyak"

2.3

Принять участие в проекте!

Общие вопросы

Форматирование ответов
Вопросы использования
Популярные разделы:
Writer: Часто задаваемые вопросы
Calc: Часто задаваемые вопросы
Орфография и грамматика
Полезности и секреты
Главная страница

Пишу диалог, с новой строки после табуляции ставлю "--"(длинное тире), дописываю абзац, жму ентер - выскакивает меню маркированного списка. Как отключить?

Сервис - Автозамена - Параметры   

или использовать CTRL+Z

2.3

Автозамена подставляет длинное тире вместо среднего.

Если в свойствах абзаца стоит русский или украинский языки, то минус заменится на длинное тире (em dash), по правилам типографики. В остальных языках используется среднее тире (en dash)

Отменить автозамену можно, используя CTRL+Z

2.3

Если в MS Word на выделенном слове зайти в контекстное меню, то там есть пункт "Синонимы". Есть ли что-нибудь подобное в ОО?

Выберите команду Сервис - Язык - Тезаурус   

2.3


Как менять варианты, предлагаемые функцией автодополнения?

Если в списке слов для автодополнения есть более одного варианта, нажмите клавиши CTRL+TAB для прокрутки доступных слов. Для прокрутки в обратном направлении используйте клавиши CTRL+SHIFT+TAB.

Посмотреть список вариантов можно через Сервис - Автозамена - Дополнение слов.   

Documentation note.png Пользователям Linux (KDE) необходимо учитывать, что данные сочетания клавиш

зарезервированы KDE для переключения между рабочими столами --Helen 17:09, 27 September 2007 (CEST)

2.3


Существует ли альтернативный способ поиска и замены для Writer?

Да.

Расширение от Tomas Bilek Alternative dialog Find & Replace for Writer

Доступна русская версия расширения

По сравнению с оригинальным диалогом поиска и замены добавлены:

  • Быстрый выбор шаблонов регулярных выражений
  • Возможность пакетной работы
  • Возможность менять стили в изменяемом тексте
  • Быстрый подсчёт числа повторений строки поиска в обрабатываемом тексте
  • ...

2.3

Как можно просмотреть список слов в тексте, которые не прошли проверку правописания?

Это можно сделать с помощью расширения Linguist, написанном на Python.

Расширение позволяет:

  • Составить список слов, не прошедших проверку орфографии
  • Составить список слов, присутствующих в тексте
  • Подсчитать количество слов и прочую статистическую информацию о тексте

2.3



Перейти к разделу: Writer | Calc | Общее | UI | Глоссарий | Принятые сокращения | Полезности | Содержание
Personal tools