Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Если вы хотите узнать, соответствует ли выражение типа строковых данных шаблону, можно использовать оператор Like.
Like
принимает два операнда. Левый операнд представляет собой строковое выражение, а правый операнд — это строка, содержащая шаблон, используемый для сопоставления.
Like
Boolean
возвращает значение, указывающее, соответствует ли строковое выражение шаблону.
Можно сопоставить каждый символ в строковом выражении с определенным символом, подстановочным знаком, списком символов или диапазоном символов. Позиции спецификаций в строке шаблона соответствуют позициям символов, которые должны быть сопоставлены в строковом выражении.
Сопоставление символа в строковом выражении с определенным символом
Поместите конкретный символ непосредственно в строку шаблона. Некоторые специальные символы должны быть заключены в квадратные скобки ([ ]
). Дополнительные сведения см. в разделе "Оператор Like".
В следующем примере проверяется, состоит ли 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 Operator или OrElse Operator.В строке шаблона для первого
Like
предложения добавьте список символов, заключенный в квадратные скобки ([ ]
).В строке шаблона для второго
Like
предложения не помещайте какой-либо символ в указанную позицию.В следующем примере проверяется семизначный телефонный номер
phoneNum
для ровно трёх цифровых символов, за которым следует пробел, дефис (–
), точка (.
) или отсутствие символа, за которым следует ровно четыре цифровых символа.Dim sMatch As Boolean = (phoneNum Like "###[ -.]####") OrElse (phoneNum Like "#######")