Поиск и замена текста
Поиск и замена – это одна из важнейших функций любой программы, которая обрабатывает большие объемы текстовой информации. Все профессиональные текстовые редакторы, настольные издательские системы, мощные графические редакторы имеют средства для поиска и замены строковых образцов.
Программа поиска и замены текста запускается по команде Edit › Find and Replace › Text (CTRL + SHIFT + F). Областью поиска является отмеченный текстовый блок или отмеченная текстовая цепочка. Если таковые отсутствуют, то поиск выполняется во всех текстовых блоках и цепочках публикации.
Разделение текстового массива на слова, строчки и страницы – это форма, удобная для человеческого восприятия. Для программы любой текст представляет собой просто последовательность символов: букв, цифр, пробелов, концов строк и параграфов и др. Программа поиска "перемещает" заданный поисковый образец по текстовой цепочке до полного совпадения образца и текстового фрагмента. Если такое совпадение имеет место, то поиск считается успешным, а соответствующий фрагмент тестового блока отмечается.
На рис. 6.8 показано диалоговое окно Find Text (Найти текст), в котором задаются параметры поисковой сессии.
Рис. 6.8. Диалоговое окно для поиска и замены текста
В поле Find (Найти) вводится строчка, которая служит образцом поиска. Для вставки в образец специальных символов или шаблонов служит поле Special (Специальные символы). Символы, которые отсутствуют в этом списке, можно вставить в поисковый образец при помощи буфера обмена.
Переключатели Whole word (Слово целиком) и Match case (Соответствие регистра) ужесточают правила поиска. Если выставить флажок Whole word, то программа будет искать не подцепочку, а целое слово, которое совпадает с поисковым образцом. Так, если ввести в качестве образца слово "поиск", то программа пропустит все словообразования, построенные на его основе (поисковый, поисковик и т. п.).
Если выбран переключатель Match case, то программа будет считать различными символы, набранные в верхнем и нижнем регистрах.
Переключатель Show selection (Показать выделение) обеспечивает прокрутку экрана так, что найденный фрагмент всегда остается в поле зрения пользователя.
Щелчок по кнопке Find Next (Найти следующий) запускает процедуру поиска и инициирует его продолжение после нахождения совпадающего фрагмента.
В нижней левой части диалогового окна программа отображает найденное вхождение образца и его контекст.
В поле Change to (Заменить на) можно задать подстановку, т. е. строчку, которая заменяет найденный фрагмент текста. Для вставки в подстановку специальных символов используется поле Special (Специальный символ).
Кнопки Change (Заменить) и Change all (Заменить все) управляют заменой текста. Первая служит для подтверждения замены каждого вхождения поискового образца на строчку, заданную в поле Change to. По щелчку на второй кнопке программа автоматически выполнит все замены в заданном поисковом пространстве.
В таблице представлен полный перечень специальных символов и шаблонов вместе с их кодовыми обозначениями, которые можно использовать для сложного поиска. Пусть, например, требуется найти все строчки текстового массива, которые начинаются с цифры. Для этого надо два раза выполнить поиск с разными критериями. По образцу ^р^# будут найдены все первые строчки параграфов, удовлетворяющие заданному условию, а поиск по образцу ^п^# относится ко всем остальным строчкам.
Название | Обозначение |
---|---|
Табулятор | ^t |
Конец параграфа | ^p |
Конец колонки | ^d |
Конец строки | ^n |
Неразрывный пробел (non-breaking space) | ^S |
Длинный пробел, круглая шпация (Em space) | ^М |
Полукруглая шпация (En space) | ^N |
Короткий пробел, тонкая шпация (Thin space) | ^T |
Символ мягкого переноса, дискреционный перенос (Discretionary hyphen) | ^- |
Знак вставки, галочка (Caret) | ^^ |
Любой одиночный символ | ^@ |
Любая одиночная буква | ^* |
Любая одиночная цифра | ^# |
Белый пробел (любой из трех типов пробелов, или символ табуляции, или любая последовательность этих символов) |
^w |
Совет
Многие программы имеют такие средства поиска, которые позволяют менять только признаки форматирования найденного фрагмента, оставляя символы без изменений. Рассмотрим, как эта функция выполняется в программе FreeHand. Необходимо проделать следующее:
- Отметить текст, который принимается в качестве образца;
- Перенести в буфер обмена атрибуты форматирования этого текста (CTRL + ALT + SHIFT + C);
- Вызвать диалоговое окно Find Text (CTRL + SHIFT + F), задать поисковый образец и установить флажок переключателя Show selection;
- Щелкнуть по кнопке Find Next и найти первое вхождение поискового образца. Найденный текстовый фрагмент будет отмечен;
- По команде Edit › Paste Attributes (CTRL + SHIFT + ALT + V) применить скопированные параметры форматирования к отмеченному тексту;
- Повторять процедуру поиска и копирования атрибутов до конца поискового пространства.