Поделиться через


Практическое руководство. Сравнение строки на соответствие с шаблоном (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 несколько раз.

Проверка наличия символа строкового выражения в списке символов

  1. Вызовите оператор Like дважды для одного строкового выражения и объедините оба вызова с помощью Оператор Or (Visual Basic) или Оператор OrElse (Visual Basic).

  2. В строке шаблона для первого предложения Like включите список символов, заключенный в квадратные скобки ([ ]).

  3. В строке шаблона для второго предложения Like не следует помещать какие-либо символы в исследуемой позиции.

    В следующем примере проверяется семь цифр телефонного номера phoneNum, записанного в следующем формате: сначала идут три символа, затем пробел, дефис (–), точка (.) или вообще отсутствует какой-либо знак, после чего идут остальные 4 цифры номера телефона.

    Dim sMatch As Boolean = 
      (phoneNum Like "###[ -.]####") OrElse (phoneNum Like "#######")
    

См. также

Ссылки

Операторы сравнения (Visual Basic)

Оператор Like (Visual Basic)

Тип данных String (Visual Basic)

Основные понятия

Операторы и выражения в Visual Basic