Compartir a través de


Cómo: Hacer coincidir una cadena con un patrón (Visual Basic)

Si desea averiguar si una expresión del tipo de datos string satisface un patrón, puede usar el operador Like.

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

Puede hacer coincidir 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 intervalo de caracteres. Las posiciones de las especificaciones en el patrón de cadena corresponden a las posiciones de los caracteres que se deben emparejar en la expresión de cadena.

Para hacer coincidir un carácter en 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 incluirse entre corchetes ([ ]). Para obtener más información, vea Like Operator.

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

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 W único seguido de exactamente dos caracteres de cualquier valor.

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

Para hacer coincidir un carácter en 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, Co E.

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

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

Para hacer coincidir un carácter en la expresión de cadena con un intervalo de caracteres

Coloque corchetes ([ ]) en la cadena de patrón y, dentro de los corchetes, coloque los caracteres más bajos y más altos en el intervalo, 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 exactamente de uno de los caracteres i, , jk, l, mo 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 probar si toda la expresión de cadena está vacía, pero no puede usarla para probar 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 para las que necesita probar, 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 Like operador dos veces en la misma expresión de cadena y conecte las dos llamadas con el operador Or o el operador OrElse.

  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 el número de teléfono de siete dígitos, que comienza con exactamente tres dígitos numéricos, seguidos de un espacio, un guión (phoneNum), un punto () o ningún carácter, seguidos de exactamente cuatro dígitos numéricos.

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

Consulte también