Поиск и замена — это одна из важнейших функций любой программы, которая обрабатывает большие объемы текстовой информации. Все профессиональные текстовые редакторы, настольные издательские системы, мощные графические редакторы имеют средства для поиска и замены строковых образцов.
Программа поиска и замены текста запускается по команде Edit|Find and Replace|Text (<Ctrl>+<Shift>+<F>). Областью поиска является отмеченный текстовый блок или отмеченная текстовая цепочка. Если таковые отсутствуют, то поиск выполняется во всех текстовых блоках и цепочках публикации.
Разделение текстового массива на слова, строчки и страницы — это форма, удобная для человеческого восприятия. Для программы любой текст представляет собой просто последовательность символов: букв, цифр, пробелов, концов строк и параграфов и др. Программа поиска «перемещает» заданный поисковый образец по текстовой цепочке до полного совпадения образца и текстового фрагмента. Если такое совпадение имеет место, то поиск считается успешным, а соответствующий фрагмент тестового блока отмечается.
На рис. 6-8 показано диалоговое окно Find Text (Найти текст), в котором задаются параметры поисковой сессии.
6-8. Диалоговое окно для поиска и замены текста
В поле Find (Найти) вводится строчка, которая служит образцом поиска. Для вставки в образец специальных символов или шаблонов служит поле Special (Специальные символы). Символы, которые отсутствуют в этом списке, можно вставить в поисковый образец при помощи буфера обмена.
Переключатели Whole word (Слово целиком) и Match case (Соответствие регистра) ужесточают правила поиска. Если выставить флажок Whole word, то программа будет искать не подцепочку, а целое слово, которое совпадает с поисковым образцом. Так, если ввести в качестве образца слово «поиск», то программа пропустит все словообразования, построенные на его основе (поисковый, поисковик и т. п.).
Если выбран переключатель Match case, то программа будет считать различными символы, набранные в верхнем и нижнем регистрах.
Название | Обозначение |
Табулятор | ^t |
Конец параграфа | ^p |
Конец колонки | ^d |
Конец строки | ^n |
Неразрывный пробел (non-breaking space) | ^S |
Длинный пробел, круглая шпация (Em space) | ^М |
Полукруглая шпация (En space) | ^N |
Короткий пробел, тонкая шпация (Thin space) | ^T |
Символ мягкого переноса, дискреционный перенос |   |
(Discretionary hyphen) |   ^- |
Знак вставки, галочка (Caret) | ^^ |
Любой одиночный символ | ^@ |
Любая одиночная буква | ^* |
Любая одиночная цифра | ^# |
Белый пробел (любой из трех типов пробелов, или символ |   |
табуляции, или любая последовательность этих символов) | ^w |