Практическое руководство. Сравнение строки на соответствие с шаблоном (Visual Basic)
Если нужно узнать, удовлетворяет ли выражение Тип данных String (Visual Basic) шаблону, можно использовать Оператор Like (Visual Basic).
Like принимает два операнда.Левый операнд представляет собой строковое выражение, а правый операнд является строкой, содержащей шаблон для соответствия.Like возвращает значение типа Boolean, указывающее, удовлетворяет ли строковое выражение шаблону.
Каждому знаку в строке выражения можно сопоставить определенный символ, подстановочный символ, символ из списка или диапазон символов.Позиции спецификации в строке шаблона соответствуют расположению знаков, которые сопоставляются со строковым выражением.
Сравнение символа в строковом выражении с указанным символом
Поместите указанный символ непосредственно в строку шаблона.Некоторые специальные символы должны заключаться в скобки ([ ]).Дополнительные сведения см. в разделе Оператор Like (Visual Basic).
В следующем примере проверяется состоит ли строка myString только из символов H.
Dim sMatch As Boolean = myString Like "H"
Сравнение символа в строковом выражении с подстановочным символом
Поместите вопросительный знак (?) в строку шаблона.Любой допустимый знак в этой позиции говорит об успешном совпадении.
В следующем примере проверяется, состоит ли строка myString только из символов W, перед которыми стоят ровно два произвольных символа.
Dim sMatch As Boolean = myString Like "W??"
Сравнение символа в строковом выражении на соответствие со списком символов
Поместите квадратные скобки ([ ]) в строку шаблона, а внутри скобок поместите список символов.Не разделяйте знаки запятыми или любым другим разделителем.Если в строковом выражении символ совпадает с одним из символом из этого списка, совпадение является успешным.
Следующий пример проверяет, начинается ли строка myString, состоящая из произвольных символов, с одного из следующих символов: A, C или E.
Dim sMatch As Boolean = myString Like "?[ACE]"
Обратите внимание, что при сравнении учитывается регистр.
Сравнение символа в строковом выражении с диапазоном символов
Поместите квадратные скобки ([ ]) в строке шаблона и внутри скобок укажите диапазон знаков (наименьший и наибольший знак) через дефис (–).Любой знак, попадающий в этот диапазон, дает успешное совпадение.
В следующем примере проверяется, состоит ли строка myString из символов num, следующих за одним из этих символов: i, j, k, l, m или n.
Dim sMatch As Boolean = myString Like "num[i-m]"
Обратите внимание, что при сравнении учитывается регистр.
Сравнение пустых строк
Like рассматривает последовательность [] как строку нулевой длины ("").Можно использовать квадратные скобки [], чтобы проверить, является ли строковое выражение пустым. Однако квадратные скобки нельзя использовать, чтобы проверить, является ли строковое выражение пустым в конкретной позиции.Если пустая позиция является одним из параметров, которые необходимо проверить, можно использовать Like несколько раз.
Проверка наличия символа строкового выражения в списке символов
Вызовите оператор Like дважды для одного строкового выражения и объедините оба вызова с помощью Оператор Or (Visual Basic) или Оператор OrElse (Visual Basic).
В строке шаблона для первого предложения Like включите список символов, заключенный в квадратные скобки ([ ]).
В строке шаблона для второго предложения Like не следует помещать какие-либо символы в исследуемой позиции.
В следующем примере проверяется семь цифр телефонного номера phoneNum, записанного в следующем формате: сначала идут три символа, затем пробел, дефис (–), точка (.) или вообще отсутствует какой-либо знак, после чего идут остальные 4 цифры номера телефона.
Dim sMatch As Boolean = (phoneNum Like "###[ -.]####") OrElse (phoneNum Like "#######")
См. также
Ссылки
Операторы сравнения (Visual Basic)
Тип данных String (Visual Basic)