Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Сравнение с образцомСтр 1 из 6Следующая ⇒
Работа со строками Работать с текстами программисту, как правило, приходится чаще, чем работать с числами. Поэтому следует хорошо представлять основные базисные операции над строками, которые в большинстве случаев реализуются с помощью встроенных функций. Сравнение строк Обычные операции сравнения применимы и к строковым данным. Интерпретация этих операций зависит от установки опции Option Compare. · Если эта опция установлена как Text, то сравнение на «больше – меньше» представляет лексикографическое сравнение, когда строки сравниваются по их расположению в словаре. Это сравнение не чувствительно к регистру, так что большие и малые буквы не различаются. Сравнение строк означает сравнение кодов их символов, так что лексикографический порядок определяется кодировкой символов алфавита. · Если эта опция установлена как Binary, то сравнение идет побитно. В этом случае сравнение чувствительно к регистру. Если нужно локально переопределить вид сравнения, заданный опцией для всего модуля, то можно использовать встроенную функцию StrComp, которая возвращает результат сравнения строк. Ее синтаксис: StrComp(string1, string2[, compare]) Аргументы string1 и string2 - сравниваемые строки. Необязательный аргумент compare указывает способ сравнения строк: значение по умолчанию 0 используется, чтобы выполнить двоичное сравнение, 1 задает посимвольное сравнение без учета регистра. Если string1 меньше чем string2, то результат равен -1, если строки равны, то - 0, если вторая меньше, то - 1, если хоть одна из строк имеет значение Null, то результат также равен Null. Сравнение с образцом Полезным средством при работе с текстами является операция Like, задающая сравнение с образцом. Необходимость нахождения в наборе всех строк, удовлетворяющих некоторому шаблону (образцу), возникает в разных задачах. VBA позволяет решать ее в одну операцию. Приведем таблицу специальных символов, допустимых при задании образца.
Приведем пример работы с операцией Like: Public Sub LikeOperation() Const pat1 = " [A-Z]" Const pat2 = " [a-z]" Const pat3 = " [! a-z]" Const pat4 = " [3-5]" Dim res As Byte Dim Sym As String
res = " Кук" Like " К[аоу]к" Debug.Print res
res = " f" Like pat1 Debug.Print res res = " f" Like pat2 Debug.Print res res = " f" Like pat3 Debug.Print res
res = " 5" Like pat4 Debug.Print res Sym = " 3" res = Sym Like pat1 & pat4 Debug.Print res res = Sym Like pat1 Or Sym Like pat4 Debug.Print res
End Sub
Результаты отладочной печати: В двух последних результатах, демонстрируются некорректный и корректный способы работы с объединением множеств проверяемых символов.
|