Difference between revisions of "Writer.Поиск и замена: Часто задаваемые вопросы"
(форматирование) |
(убрал отступы) |
||
Line 1: | Line 1: | ||
{{Ru Writer}} | {{Ru Writer}} | ||
===Как удалить мягкие переносы?=== | ===Как удалить мягкие переносы?=== | ||
− | + | Чтобы удалить все мягкие переносы, выделите какой-нибудь один мягкий перенос, нажмите Ctrl F, и нажмите "заменить всё" (поле для замены оставьте пустым). | |
<p align=right>3.1</p> | <p align=right>3.1</p> | ||
=== Как заменить начертание шрифта в выделенном фрагменте, чтобы все символы одного шрифта стали другого цвета? === | === Как заменить начертание шрифта в выделенном фрагменте, чтобы все символы одного шрифта стали другого цвета? === | ||
− | + | Диалог "Найти и заменить", использовать кнопку "Формат" и регулярное выражение. | |
− | + | [[Image:Replacefontscolor.png]] | |
<p align=right>2.4</p> | <p align=right>2.4</p> | ||
===Как пробелы в числах заменить на неразрывные пробелы?=== | ===Как пробелы в числах заменить на неразрывные пробелы?=== | ||
− | + | В тексте разряды в числах разделяются пробелами. Для замены всех пробелов в числах на неразрывный пробел нужно воспользоваться заменой с регулярными выражениями. | |
− | + | *Для этого в диалоге "Найти и заменить" нужно нажать кнопку "Больше параметров" и установить флажок "регулярные выражения". Затем | |
− | + | * - в строке '''поиска''' ввести '''([:digit:]) ([:digit:]{3})''' | |
− | + | * - в строке '''замены''' ввести '''$1 $2''' | |
+ | |||
Примечание: В данном диалоге нельзя непосредственно ввести символ "неразрывный пробел". Но его можно предварительно ввести в документ, вырезать в документе и вставить в нужном месте в строке поиска или замены. Таким образом в строке '''$1 $2''' на самом деле не пробел, а именно "неразрывный пробел". | Примечание: В данном диалоге нельзя непосредственно ввести символ "неразрывный пробел". Но его можно предварительно ввести в документ, вырезать в документе и вставить в нужном месте в строке поиска или замены. Таким образом в строке '''$1 $2''' на самом деле не пробел, а именно "неразрывный пробел". | ||
<p align=right>3.0</p> | <p align=right>3.0</p> | ||
===Как найти символы абзаца, разрыва строки, табуляции? === | ===Как найти символы абзаца, разрыва строки, табуляции? === | ||
− | + | Для поиска таких символов необходимо использовать регулярные выражения. В диалоге поиска и замены регулярные выражения включаются через "Дополнительные настройки". | |
− | + | ||
− | + | Используйте для поиска следующие регулярные выражения: | |
− | + | *символ разрыва строки - "'''\n'''", однако при использовании в поле замены это выражение будет обозначать символ абзаца; | |
− | + | *символ абзаца - "'''$'''"; | |
+ | *символ табуляции - "'''\t'''". | ||
− | + | Подробнее см.: система помощи, закладка "Индекс", искомое выражение -- "регулярные выражения;список". | |
см. также [http://myooo.ru/content/view/39/43/ AltSearch - замечательный диалог поиска и замены] | см. также [http://myooo.ru/content/view/39/43/ AltSearch - замечательный диалог поиска и замены] | ||
Line 31: | Line 33: | ||
[[Image:Oo_find_s_03.png|thumb|left|Последовательность действий при поиске и замене символов разрыва строк]] | [[Image:Oo_find_s_03.png|thumb|left|Последовательность действий при поиске и замене символов разрыва строк]] | ||
− | + | Как сказано выше для поиска таких символов используются регулярные выражения (взведите флаг ''' "Регулярное выражение" '''). | |
− | + | Часто возникает задача заменить в тексте, например взятом из окна браузера, символы "'''\n'''" на символы абзаца для более корректного форматирования текста. | |
− | + | ||
− | + | Попытка поставить в качестве замены символ "'''$'''" (конец абзаца) ни к чему хорошему, кроме вставки собственно символа "'''$'''", не приводит ! | |
+ | |||
+ | Как оказалось диалог поиска находит эти символы "'''\n'''", но и в качестве замены, в нашем случае, тоже надо указывать "'''\n'''" !! | ||
<br clear="both" /> | <br clear="both" /> | ||
Line 43: | Line 46: | ||
===Как составлять регулярные выражения?=== | ===Как составлять регулярные выражения?=== | ||
− | + | Общие принципы написания регулярных выражений описаны в этой статье: http://ru.wikipedia.org/wiki/Регулярные_выражения | |
− | + | ||
+ | В ООо реализована поддержка регулярных выражений в поиске и замене. Для их использования ознакомьтесь со [[Список регулярных выражений| | ||
Списком регулярных выражений]]. | Списком регулярных выражений]]. | ||
Line 50: | Line 54: | ||
===Как преобразовать тексты, набранные в старых текстовых (DOS), где в конце каждой строки стоят Enter'ы=== | ===Как преобразовать тексты, набранные в старых текстовых (DOS), где в конце каждой строки стоят Enter'ы=== | ||
− | + | Такие тексты характерны тем, что разделителями "абзацев" являются пустые абзацы. | |
− | + | ||
− | + | ||
− | + | ||
− | :Если же переносы строк в абзацах отформатированы "мягким переводом строки" (Shift-Enter), то второй шаг немного меняется. В этом случае регулярное выражение в строке Найти будет '''\n''' В строке Заменить так же просто нажимаем ПРОБЕЛ. | + | #В этом случае нужно найти эти "истинные" разделители абзацев. Для этого регулярными выражениями заменить "символ абзаца в начале строки" на не встречающуюся в данном документе последовательность символов. Например "QWERTYTREWQ". Производится поиск "символа абзаца в начале строки". Регулярное выражение для этого (строка Найти): '''^$''' В строке Заменить вводим '''QWERTYTREWQ''' |
+ | #Далее - заменяем все символы абзаца на пробел. Т.е. в случае с "¶" - искать надо '$'. Регулярное выражение для этого (строка Найти): '''$''' В строке Заменить просто нажимаем ПРОБЕЛ. | ||
+ | #Далее - делаем обратную замену "QWERTYTREWQ" на символ абзаца. Регулярное выражение для этого (строка Найти): '''QWERTYTREWQ''' В строке Заменить вводим '''\n''' | ||
+ | |||
+ | Если же переносы строк в абзацах отформатированы "мягким переводом строки" (Shift-Enter), то второй шаг немного меняется. В этом случае регулярное выражение в строке Найти будет '''\n''' В строке Заменить так же просто нажимаем ПРОБЕЛ. | ||
<p align=right>2.4</p> | <p align=right>2.4</p> | ||
Line 61: | Line 66: | ||
===Как узнать количество символов в документе без пробелов? === | ===Как узнать количество символов в документе без пробелов? === | ||
[[Image:Writer-Counted Blanks.gif|thumb|left|Последовательность действий для подсчета непробельных символов]] | [[Image:Writer-Counted Blanks.gif|thumb|left|Последовательность действий для подсчета непробельных символов]] | ||
− | + | Для подсчета слов и символов в документе используется команда '''Сервис - Количество слов''' (выводятся данные по выделенному фрагменту (фрагментам) и по всему документу). | |
− | + | Используйте для поиска регулярное выражение "'''[:space:]*'''" (любое количество идущих подряд пробелов) и кнопку "'''Найти все'''". | |
− | + | Искомое количество непробельных символов получите в результате вычитания двух значений. | |
<br clear="both" /> | <br clear="both" /> | ||
<p align=right>2.3</p> | <p align=right>2.3</p> | ||
===Как найти/заменить двойной пустой абзац? Я уже знаю про регулярные выражения, но всё равно не получается=== | ===Как найти/заменить двойной пустой абзац? Я уже знаю про регулярные выражения, но всё равно не получается=== | ||
− | + | Выдержка из помощи по регулярным выражениям: "'''''Осуществлять поиск регулярных выражений можно только в пределах одного абзаца. То есть, поиск одного выражения в одном абзаце, а в следующем абзаце — другого выражения невозможен.'''''" | |
− | + | Но решение есть: | |
− | + | *можно использовать промежуточные подстановки. Например: заменить сначала все ^$ на "ABZ", а потом искать/обрабатывать "ABZABZ". | |
Внимание! Весь документ окажется в одном параграфе, а у OpenOffice.org существует ограничение на величину параграфа, | Внимание! Весь документ окажется в одном параграфе, а у OpenOffice.org существует ограничение на величину параграфа, | ||
не применяйте такой метод к объемным документам. | не применяйте такой метод к объемным документам. | ||
− | + | *можно воспользоваться макросом из книги "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}} | ||
===Пишу диалог, с новой строки после табуляции ставлю "--"(длинное тире), дописываю абзац, жму ентер - выскакивает меню маркированного списка. Как отключить?=== | ===Пишу диалог, с новой строки после табуляции ставлю "--"(длинное тире), дописываю абзац, жму ентер - выскакивает меню маркированного списка. Как отключить?=== | ||
− | + | '''Сервис - Автозамена - Параметры''' | |
− | + | ||
+ | или использовать CTRL+Z | ||
<p align=right>2.3</p> | <p align=right>2.3</p> | ||
===Автозамена подставляет длинное тире вместо среднего.=== | ===Автозамена подставляет длинное тире вместо среднего.=== | ||
− | + | Если в свойствах абзаца стоит русский или украинский языки, то минус заменится на длинное тире (em dash), по правилам типографики. В остальных языках используется среднее тире (en dash) | |
− | + | ||
+ | Отменить автозамену можно, используя CTRL+Z | ||
<p align=right>2.3</p> | <p align=right>2.3</p> | ||
===Если в MS Word на выделенном слове зайти в контекстное меню, то там есть пункт "Синонимы". Есть ли что-нибудь подобное в ОО?=== | ===Если в MS Word на выделенном слове зайти в контекстное меню, то там есть пункт "Синонимы". Есть ли что-нибудь подобное в ОО?=== | ||
− | + | Выберите команды Сервис - Язык - Тезаурус | |
<p align=right>2.3</p> | <p align=right>2.3</p> | ||
Line 98: | Line 105: | ||
===Как менять варианты, предлагаемые функцией [[Глоссарий#Автодополнение | автодополнения]]? === | ===Как менять варианты, предлагаемые функцией [[Глоссарий#Автодополнение | автодополнения]]? === | ||
− | + | Если в списке слов для автодополнения есть более одного варианта, нажмите клавиши CTRL+TAB для прокрутки доступных слов. Для прокрутки в обратном направлении используйте клавиши CTRL+SHIFT+TAB. | |
− | + | ||
+ | Посмотреть список вариантов можно через Сервис - Автозамена - Дополнение слов. | ||
Пользователям Linux (KDE) необходимо учитывать, что данные сочетания клавиш | Пользователям Linux (KDE) необходимо учитывать, что данные сочетания клавиш | ||
Line 110: | Line 118: | ||
===Существует ли альтернативный способ поиска и замены для Writer?=== | ===Существует ли альтернативный способ поиска и замены для Writer?=== | ||
− | + | Да. | |
− | + | ||
− | + | Расширение от Tomas Bilek [http://extensions.services.openoffice.org/ru/project/AltSearch Alternative dialog Find & Replace for Writer] | |
− | + | ||
+ | Доступна [http://myooo.ru/content/view/39/43/ русская версия расширения] | ||
+ | |||
+ | По сравнению с оригинальным диалогом поиска и замены добавлены: | ||
* Быстрый выбор шаблонов регулярных выражений | * Быстрый выбор шаблонов регулярных выражений | ||
* Возможность пакетной работы | * Возможность пакетной работы | ||
Line 123: | Line 134: | ||
===Как можно просмотреть список слов в тексте, которые не прошли проверку правописания?=== | ===Как можно просмотреть список слов в тексте, которые не прошли проверку правописания?=== | ||
− | + | Это можно сделать с помощью расширения [http://extensions.services.openoffice.org/ru/project/Linguist Linguist], написанном на Python. | |
− | + | Расширение позволяет: | |
*Составить список слов, не прошедших проверку орфографии | *Составить список слов, не прошедших проверку орфографии | ||
*Составить список слов, присутствующих в тексте | *Составить список слов, присутствующих в тексте |
Revision as of 12:14, 29 June 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".
Подробнее см.: система помощи, закладка "Индекс", искомое выражение -- "регулярные выражения;список".
см. также AltSearch - замечательный диалог поиска и замены
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".
Внимание! Весь документ окажется в одном параграфе, а у OpenOffice.org существует ограничение на величину параграфа, не применяйте такой метод к объемным документам.
- можно воспользоваться макросом из книги "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.
Посмотреть список вариантов можно через Сервис - Автозамена - Дополнение слов.
Пользователям 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 | Глоссарий | Принятые сокращения | Полезности | Содержание |