Сравнение с образцом
Мощным и весьма полезным средством при работе с текстами является операция Like, задающая сравнение с образцом. Необходимость нахождения в наборе всех строк, удовлетворяющих некоторому шаблону (образцу), возникает в самых разнообразных задачах. VBA позволяет решать ее в одну операцию. Приведем таблицу специальных символов, допустимых при задании образца.
* | Любой текст - произвольное число символов | Шаблону Agent* соответствуют все тексты, начинающиеся со слова Agent. Строки Agent007 и Agent Майор Пронин удовлетворяют шаблону. |
? | Один любой символ | Шаблону К?к удовлетворяют, в частности строки Кок и Кук. |
# | Любая цифра от 0 до 9 | Шаблону Agent### соотвествуют 1000 различных строк, среди которых и Agent007, но, конечно же, не Agent Майор Пронин. |
[множество_символов] | Любой символ, принадлежащий множеству | Задать множество можно с помощью перечисления и интервалов. Шаблону К[аоу]к удовлетворяют слова "Как", "Кок", "Кук". Чувствительность к регистру зависит от установки опции Option Compare. |
[!множество_символов] | Любой не принадлежащий множеству символ | Шаблону [!а-я] удовлетворяет символ, не являющийся буквой русского алфавита. |
Приведем пример работы с операцией Like:
Пример 8.1.
(html, txt)
Вот результаты отладочной печати:
255 0 255 0 255 0 255
Обратите внимание на последние два результата, демонстрирующие некорректный и корректный способы работы с объединением множеств проверяемых символов.