Cómo: Comprobar si una cadena coincide con un modelo

Actualización: noviembre 2007

Si desea averiguar si una expresión de String (Tipo de datos, Visual Basic) satisface un modelo, puede utilizar el Like (operador, Visual Basic).

Like toma dos operandos. El operando izquierdo es una expresión de cadena, y el operando derecho es una cadena que contiene el modelo que se debe utilizar para la equivalencia. Like devuelve un valor Boolean que indica que la expresión de cadena se atiene al modelo.

Puede hacer coincidir cada carácter de la expresión de cadena con un carácter concreto, un carácter comodín, una lista de caracteres o un intervalo de caracteres. Las posiciones de las especificaciones de la cadena modelo corresponden con las posiciones de los caracteres que se deben hacer coincidir en la expresión de cadena.

Para hacer coincidir un carácter de la expresión de cadena con respecto a un carácter concreto

  • Coloque directamente el carácter concreto en la cadena del modelo. Ciertos caracteres especiales se deben incluir entre corchetes ([ ]). Para obtener más información, vea Like (operador, Visual Basic).

    El ejemplo siguiente prueba si myString consta exactamente del carácter individual H.

    Dim sMatch As Boolean = myString Like "H"
    

Para hacer coincidir un carácter de la expresión de cadena con respecto a un carácter comodín

  • Coloque un signo de interrogación (?) en la cadena del modelo. Cualquier carácter válido para esta posición obtiene una coincidencia correcta.

    El ejemplo siguiente prueba si myString está compuesto del carácter individual W seguido de exactamente dos caracteres de cualquier valor.

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

Para hacer coincidir un carácter de la expresión de cadena con respecto a una lista de caracteres

  • Coloque corchetes ([ ]) en la cadena del modelo y, dentro de los corchetes, coloque la lista de caracteres. No separe los caracteres con comas ni con cualquier otro separador. Cualquier carácter individual en la lista consigue una coincidencia correcta.

    El ejemplo siguiente prueba si myString está compuesto de cualquier carácter válido seguido por exactamente uno de los caracteres A, C o E.

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

    Tenga en cuenta que esta coincidencia distingue entre mayúsculas y minúsculas.

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

  • Coloque corchetes ([ ]) en la cadena del modelo y, dentro de los corchetes, coloque el primer y el último caracteres del intervalo, separados por un guión (–). Cualquier carácter individual contenido en del intervalo obtiene una coincidencia correcta.

    El ejemplo siguiente prueba si myString incluye los caracteres num seguidos por exactamente uno de los caracteres i, j, k, l, m o n.

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

    Tenga en cuenta que esta coincidencia distingue entre mayúsculas y minúsculas.

Coincidencia de cadenas vacías

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

Para hacer coincidir un carácter de la expresión de cadena con respecto a una lista de caracteres o con ningún carácter

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

  2. En la cadena del modelo para la primera cláusula Like, incluya la lista de caracteres, encerrándola entre corchetes ([ ]).

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

    El ejemplo siguiente prueba el número de teléfono de siete dígitos phoneNum para ver si está formado exactamente por tres números seguidos por un espacio, un guión (–), un punto (.) o ningún carácter, seguidos exactamente por cuatro números.

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

Vea también

Conceptos

Operadores y expresiones en Visual Basic

Referencia

Operadores de comparación (Visual Basic)

Like (operador, Visual Basic)

String (Tipo de datos, Visual Basic)