Compartir a través de


Cómo: Comprobar si una cadena coincide con un modelo (Visual Basic)

Si quiere averiguar si una expresión de String (Tipo de datos) satisface un patrón, puede usar el Like (operador).

Like toma dos operandos. El operando izquierdo es una expresión de cadena, mientras que el operando derecho es una cadena que contiene el patrón que se va a usar para buscar coincidencias. Like devuelve un valor Boolean que indica si la expresión de cadena satisface el patrón.

Puede emparejar cada carácter de la expresión de cadena con un carácter específico, un carácter comodín, una lista de caracteres o un rango de caracteres. Las posiciones de las especificaciones de la cadena de patrón corresponden a las posiciones de los caracteres que se van a emparejar en la expresión de cadena.

Para emparejar un carácter de la expresión de cadena con un carácter específico

Coloque el carácter específico directamente en la cadena de patrón. Algunos caracteres especiales deben ir entre corchetes ([ ]). Para obtener más información, vea Like (operador).

En el ejemplo siguiente se comprueba si myString se compone exactamente del carácter único H.

Dim sMatch As Boolean = myString Like "H"

Para emparejar un carácter de la expresión de cadena con un carácter comodín

Coloque un signo de interrogación (?) en la cadena de patrón. Cualquier carácter válido en esta posición hace un emparejamiento correcto.

En el ejemplo siguiente se comprueba si myString consta del carácter único W seguido de exactamente dos caracteres de cualquier valor.

Dim sMatch As Boolean = myString Like "W??"

Para emparejar un carácter de la expresión de cadena con una lista de caracteres

Coloque corchetes ([ ]) en la cadena de patrón y, dentro de los corchetes, coloque la lista de caracteres. No separe los caracteres con comas ni ningún otro separador. Cualquier carácter único de la lista hace un emparejamiento correcto.

En el ejemplo siguiente se comprueba si myString consta de cualquier carácter válido seguido de exactamente uno de los caracteres A, C o E.

Dim sMatch As Boolean = myString Like "?[ACE]"

Observe que esta coincidencia distingue mayúsculas de minúsculas.

Para emparejar un carácter de la expresión de cadena con un rango de caracteres

Coloque corchetes ([ ]) en la cadena de patrón y, dentro de los corchetes, coloque los caracteres más bajo y más alto del rango, separados por un guión (). Cualquier carácter único dentro del rango hace un emparejamiento correcto.

En el ejemplo siguiente se comprueba si myString consta de los caracteres num seguidos de exactamente uno de los caracteres i, j, k, l, m o n.

Dim sMatch As Boolean = myString Like "num[i-m]"

Observe que esta coincidencia distingue mayúsculas de minúsculas.

Emparejamiento de cadenas vacías

Like trata la secuencia [] como una cadena de longitud cero (""). Puede usar [] para comprobar si la expresión de cadena completa está vacía, pero no puede usarlo para comprobar si una posición determinada de la expresión de cadena está vacía. Si una posición vacía es una de las opciones que necesita comprobar, puede usar Like más de una vez.

Para emparejar un carácter de la expresión de cadena con una lista de caracteres o ningún carácter

  1. Llame al operador Like dos veces en la misma expresión de cadena y conecte las dos llamadas con Or (Operador) u OrElse (Operador).

  2. En la cadena de patrón de la primera cláusula Like, incluya la lista de caracteres, entre corchetes ([ ]).

  3. En la cadena de patrón de la segunda cláusula Like, no coloque ningún carácter en la posición en cuestión.

    En el ejemplo siguiente se comprueba que el número de teléfono de siete dígitos phoneNum tiene exactamente tres dígitos numéricos, seguidos de un espacio, un guión (), un punto (.), o ningún carácter en absoluto, seguido de exactamente cuatro dígitos numéricos.

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

Consulte también