Difference between revisions of "Writer.Поиск и замена: Часто задаваемые вопросы"
m (форматирование) |
(форматирование) |
||
Line 21: | Line 21: | ||
Используйте для поиска следующие регулярные выражения: | Используйте для поиска следующие регулярные выражения: | ||
− | *символ разрыва строки - "'''\n'''", однако при использовании в поле замены это выражение будет обозначать символ абзаца; | + | * символ разрыва строки - "'''\n'''", однако при использовании в поле замены это выражение будет обозначать символ абзаца; |
− | *символ абзаца - "'''$'''"; | + | * символ абзаца - "'''$'''"; |
− | *символ табуляции - "'''\t'''". | + | * символ табуляции - "'''\t'''". |
Подробнее см.: система помощи, закладка "Индекс", искомое выражение -- "регулярные выражения;список". | Подробнее см.: система помощи, закладка "Индекс", искомое выражение -- "регулярные выражения;список". | ||
Line 56: | Line 56: | ||
Такие тексты характерны тем, что разделителями "абзацев" являются пустые абзацы. | Такие тексты характерны тем, что разделителями "абзацев" являются пустые абзацы. | ||
− | #В этом случае нужно найти эти "истинные" разделители абзацев. Для этого регулярными выражениями заменить "символ абзаца в начале строки" на не встречающуюся в данном документе последовательность символов. Например "QWERTYTREWQ". Производится поиск "символа абзаца в начале строки". Регулярное выражение для этого (строка Найти): '''^$''' В строке Заменить вводим '''QWERTYTREWQ''' | + | # В этом случае нужно найти эти "истинные" разделители абзацев. Для этого регулярными выражениями заменить "символ абзаца в начале строки" на не встречающуюся в данном документе последовательность символов. Например "QWERTYTREWQ". Производится поиск "символа абзаца в начале строки". Регулярное выражение для этого (строка Найти): '''^$''' В строке Заменить вводим '''QWERTYTREWQ''' |
− | #Далее - заменяем все символы абзаца на пробел. Т.е. в случае с "¶" - искать надо '$'. Регулярное выражение для этого (строка Найти): '''$''' В строке Заменить просто нажимаем ПРОБЕЛ. | + | # Далее - заменяем все символы абзаца на пробел. Т.е. в случае с "¶" - искать надо '$'. Регулярное выражение для этого (строка Найти): '''$''' В строке Заменить просто нажимаем ПРОБЕЛ. |
− | #Далее - делаем обратную замену "QWERTYTREWQ" на символ абзаца. Регулярное выражение для этого (строка Найти): '''QWERTYTREWQ''' В строке Заменить вводим '''\n''' | + | # Далее - делаем обратную замену "QWERTYTREWQ" на символ абзаца. Регулярное выражение для этого (строка Найти): '''QWERTYTREWQ''' В строке Заменить вводим '''\n''' |
Если же переносы строк в абзацах отформатированы "мягким переводом строки" (Shift-Enter), то второй шаг немного меняется. В этом случае регулярное выражение в строке Найти будет '''\n''' В строке Заменить так же просто нажимаем ПРОБЕЛ. | Если же переносы строк в абзацах отформатированы "мягким переводом строки" (Shift-Enter), то второй шаг немного меняется. В этом случае регулярное выражение в строке Найти будет '''\n''' В строке Заменить так же просто нажимаем ПРОБЕЛ. | ||
Line 66: | Line 66: | ||
===Как узнать количество символов в документе без пробелов? === | ===Как узнать количество символов в документе без пробелов? === | ||
[[Image:Writer-Counted Blanks.gif|thumb|left|Последовательность действий для подсчета непробельных символов]] | [[Image:Writer-Counted Blanks.gif|thumb|left|Последовательность действий для подсчета непробельных символов]] | ||
− | Для | + | Для подсчёта слов и символов в документе используется команда {{Ru_Menu|Сервис|Количество слов}}(выводятся данные по выделенному фрагменту (фрагментам) и по всему документу). |
Используйте для поиска регулярное выражение "'''[:space:]*'''" (любое количество идущих подряд пробелов) и кнопку "'''Найти все'''". | Используйте для поиска регулярное выражение "'''[:space:]*'''" (любое количество идущих подряд пробелов) и кнопку "'''Найти все'''". | ||
Искомое количество непробельных символов получите в результате вычитания двух значений. | Искомое количество непробельных символов получите в результате вычитания двух значений. | ||
Line 76: | Line 76: | ||
Но решение есть: | Но решение есть: | ||
− | *можно использовать промежуточные подстановки. Например: заменить сначала все ^$ на "ABZ", а потом искать/обрабатывать "ABZABZ". | + | * можно использовать промежуточные подстановки. Например: заменить сначала все ^$ на "ABZ", а потом искать/обрабатывать "ABZABZ". |
{{Documentation/Note|Внимание! Весь документ окажется в одном параграфе, а у OpenOffice.org существует ограничение на величину параграфа, не применяйте такой метод к объемным документам.}} | {{Documentation/Note|Внимание! Весь документ окажется в одном параграфе, а у OpenOffice.org существует ограничение на величину параграфа, не применяйте такой метод к объемным документам.}} | ||
− | *можно воспользоваться макросом из книги "Useful Macro Information For OpenOffice By Andrew Pitonyak" или "модифицированной" версией этого макроса, опубликованным здесь: http://community.i-rs.ru/index.php/topic,2797.msg30469.html#msg30469 | + | * можно воспользоваться макросом из книги "Useful Macro Information For OpenOffice By Andrew Pitonyak" или "модифицированной" версией этого макроса, опубликованным здесь: http://community.i-rs.ru/index.php/topic,2797.msg30469.html#msg30469 |
<p align=right>2.3</p> | <p align=right>2.3</p> | ||
{{RuРазделыFAQ}} | {{RuРазделыFAQ}} | ||
===Пишу диалог, с новой строки после табуляции ставлю "--"(длинное тире), дописываю абзац, жму ентер - выскакивает меню маркированного списка. Как отключить?=== | ===Пишу диалог, с новой строки после табуляции ставлю "--"(длинное тире), дописываю абзац, жму ентер - выскакивает меню маркированного списка. Как отключить?=== | ||
− | + | {{Ru_Menu|Сервис|Автозамена|Параметры}} | |
или использовать CTRL+Z | или использовать CTRL+Z | ||
Line 97: | Line 97: | ||
===Если в MS Word на выделенном слове зайти в контекстное меню, то там есть пункт "Синонимы". Есть ли что-нибудь подобное в ОО?=== | ===Если в MS Word на выделенном слове зайти в контекстное меню, то там есть пункт "Синонимы". Есть ли что-нибудь подобное в ОО?=== | ||
− | Выберите команду | + | Выберите команду {{Ru_Menu|Сервис|Язык|Тезаурус}} |
<p align=right>2.3</p> | <p align=right>2.3</p> | ||
Line 105: | Line 105: | ||
Если в списке слов для автодополнения есть более одного варианта, нажмите клавиши CTRL+TAB для прокрутки доступных слов. Для прокрутки в обратном направлении используйте клавиши CTRL+SHIFT+TAB. | Если в списке слов для автодополнения есть более одного варианта, нажмите клавиши CTRL+TAB для прокрутки доступных слов. Для прокрутки в обратном направлении используйте клавиши CTRL+SHIFT+TAB. | ||
− | Посмотреть список вариантов можно через | + | Посмотреть список вариантов можно через {{Ru_Menu|Сервис|Автозамена|Дополнение слов.}} |
{{Documentation/Note|Пользователям Linux (KDE) необходимо учитывать, что данные сочетания клавиш | {{Documentation/Note|Пользователям Linux (KDE) необходимо учитывать, что данные сочетания клавиш | ||
Line 125: | Line 125: | ||
* Возможность пакетной работы | * Возможность пакетной работы | ||
* Возможность менять стили в изменяемом тексте | * Возможность менять стили в изменяемом тексте | ||
− | * Быстрый | + | * Быстрый подсчёт числа повторений строки поиска в обрабатываемом тексте |
* ... | * ... | ||
Line 134: | Line 134: | ||
Расширение позволяет: | Расширение позволяет: | ||
− | *Составить список слов, не прошедших проверку орфографии | + | * Составить список слов, не прошедших проверку орфографии |
− | *Составить список слов, присутствующих в тексте | + | * Составить список слов, присутствующих в тексте |
− | *Подсчитать количество слов и прочую статистическую информацию о тексте | + | * Подсчитать количество слов и прочую статистическую информацию о тексте |
<p align=right>2.3</p> | <p align=right>2.3</p> |
Revision as of 06:28, 7 August 2010
Вопросы по ООо Writer |
---|
Графика |
Импорт, внешние ссылки и связи |
Интерфейс пользователя |
Набор и форматирование |
Поиск и замена |
Сохранение и печать |
Стили и шаблоны |
Страницы, оглавление и сноски |
Таблицы |
Другие вопросы |
Contents
- 1 Как удалить мягкие переносы?
- 2 Как заменить начертание шрифта в выделенном фрагменте, чтобы все символы одного шрифта стали другого цвета?
- 3 Как пробелы в числах заменить на неразрывные пробелы?
- 4 Как найти символы абзаца, разрыва строки, табуляции?
- 5 Как заменить символы разрыва строки на символы абзаца?
- 6 Как составлять регулярные выражения?
- 7 Как преобразовать тексты, набранные в старых текстовых (DOS), где в конце каждой строки стоят Enter'ы
- 8 Как узнать количество символов в документе без пробелов?
- 9 Как найти/заменить двойной пустой абзац? Я уже знаю про регулярные выражения, но всё равно не получается
- 10 Пишу диалог, с новой строки после табуляции ставлю "--"(длинное тире), дописываю абзац, жму ентер - выскакивает меню маркированного списка. Как отключить?
- 11 Автозамена подставляет длинное тире вместо среднего.
- 12 Если в MS Word на выделенном слове зайти в контекстное меню, то там есть пункт "Синонимы". Есть ли что-нибудь подобное в ОО?
- 13 Как менять варианты, предлагаемые функцией автодополнения?
- 14 Существует ли альтернативный способ поиска и замены для Writer?
- 15 Как можно просмотреть список слов в тексте, которые не прошли проверку правописания?
Как удалить мягкие переносы?
Чтобы удалить все мягкие переносы, выделите какой-нибудь один мягкий перенос, нажмите Ctrl F, и нажмите "заменить всё" (поле для замены оставьте пустым).
3.1
Как заменить начертание шрифта в выделенном фрагменте, чтобы все символы одного шрифта стали другого цвета?
Диалог "Найти и заменить", использовать кнопку "Формат" и регулярное выражение.
2.4
Как пробелы в числах заменить на неразрывные пробелы?
В тексте разряды в числах разделяются пробелами. Для замены всех пробелов в числах на неразрывный пробел нужно воспользоваться заменой с регулярными выражениями.
- Для этого в диалоге "Найти и заменить" нужно нажать кнопку "Больше параметров" и установить флажок "регулярные выражения". Затем
- - в строке поиска ввести ([:digit:]) ([:digit:]{3})
- - в строке замены ввести $1 $2
Примечание: В данном диалоге нельзя непосредственно ввести символ "неразрывный пробел". Но его можно предварительно ввести в документ, вырезать в документе и вставить в нужном месте в строке поиска или замены. Таким образом в строке $1 $2 на самом деле не пробел, а именно "неразрывный пробел".
3.0
Как найти символы абзаца, разрыва строки, табуляции?
Для поиска таких символов необходимо использовать регулярные выражения. В диалоге поиска и замены регулярные выражения включаются через "Дополнительные настройки".
Используйте для поиска следующие регулярные выражения:
- символ разрыва строки - "\n", однако при использовании в поле замены это выражение будет обозначать символ абзаца;
- символ абзаца - "$";
- символ табуляции - "\t".
Подробнее см.: система помощи, закладка "Индекс", искомое выражение -- "регулярные выражения;список". Template:Documentation/Tip
2.4
Как заменить символы разрыва строки на символы абзаца?
Как сказано выше для поиска таких символов используются регулярные выражения (взведите флаг "Регулярное выражение" ).
Часто возникает задача заменить в тексте, например взятом из окна браузера, символы "\n" на символы абзаца для более корректного форматирования текста.
Попытка поставить в качестве замены символ "$" (конец абзаца) ни к чему хорошему, кроме вставки собственно символа "$", не приводит !
Как оказалось диалог поиска находит эти символы "\n", но и в качестве замены, в нашем случае, тоже надо указывать "\n" !!
3.2
Как составлять регулярные выражения?
Общие принципы написания регулярных выражений описаны в этой статье: http://ru.wikipedia.org/wiki/Регулярные_выражения
В ООо реализована поддержка регулярных выражений в поиске и замене. Для их использования ознакомьтесь со Списком регулярных выражений.
2.4
Как преобразовать тексты, набранные в старых текстовых (DOS), где в конце каждой строки стоят Enter'ы
Такие тексты характерны тем, что разделителями "абзацев" являются пустые абзацы.
- В этом случае нужно найти эти "истинные" разделители абзацев. Для этого регулярными выражениями заменить "символ абзаца в начале строки" на не встречающуюся в данном документе последовательность символов. Например "QWERTYTREWQ". Производится поиск "символа абзаца в начале строки". Регулярное выражение для этого (строка Найти): ^$ В строке Заменить вводим QWERTYTREWQ
- Далее - заменяем все символы абзаца на пробел. Т.е. в случае с "¶" - искать надо '$'. Регулярное выражение для этого (строка Найти): $ В строке Заменить просто нажимаем ПРОБЕЛ.
- Далее - делаем обратную замену "QWERTYTREWQ" на символ абзаца. Регулярное выражение для этого (строка Найти): QWERTYTREWQ В строке Заменить вводим \n
Если же переносы строк в абзацах отформатированы "мягким переводом строки" (Shift-Enter), то второй шаг немного меняется. В этом случае регулярное выражение в строке Найти будет \n В строке Заменить так же просто нажимаем ПРОБЕЛ.
2.4
Как узнать количество символов в документе без пробелов?
Для подсчёта слов и символов в документе используется команда Сервис - Количество слов (выводятся данные по выделенному фрагменту (фрагментам) и по всему документу).
Используйте для поиска регулярное выражение "[:space:]*" (любое количество идущих подряд пробелов) и кнопку "Найти все".
Искомое количество непробельных символов получите в результате вычитания двух значений.
2.3
Как найти/заменить двойной пустой абзац? Я уже знаю про регулярные выражения, но всё равно не получается
Выдержка из помощи по регулярным выражениям: "Осуществлять поиск регулярных выражений можно только в пределах одного абзаца. То есть, поиск одного выражения в одном абзаце, а в следующем абзаце — другого выражения невозможен."
Но решение есть:
- можно использовать промежуточные подстановки. Например: заменить сначала все ^$ на "ABZ", а потом искать/обрабатывать "ABZABZ".
- можно воспользоваться макросом из книги "Useful Macro Information For OpenOffice By Andrew Pitonyak" или "модифицированной" версией этого макроса, опубликованным здесь: http://community.i-rs.ru/index.php/topic,2797.msg30469.html#msg30469
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.
Посмотреть список вариантов можно через Сервис - Автозамена - Дополнение слов.
2.3
Существует ли альтернативный способ поиска и замены для Writer?
Да.
Расширение от Tomas Bilek Alternative dialog Find & Replace for Writer
Доступна русская версия расширения
По сравнению с оригинальным диалогом поиска и замены добавлены:
- Быстрый выбор шаблонов регулярных выражений
- Возможность пакетной работы
- Возможность менять стили в изменяемом тексте
- Быстрый подсчёт числа повторений строки поиска в обрабатываемом тексте
- ...
2.3
Как можно просмотреть список слов в тексте, которые не прошли проверку правописания?
Это можно сделать с помощью расширения Linguist, написанном на Python.
Расширение позволяет:
- Составить список слов, не прошедших проверку орфографии
- Составить список слов, присутствующих в тексте
- Подсчитать количество слов и прочую статистическую информацию о тексте
2.3
Перейти к разделу: Writer | Calc | Общее | UI | Глоссарий | Принятые сокращения | Полезности | Содержание |