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
Llame al operador
Like
dos veces en la misma expresión de cadena y conecte las dos llamadas con Or (Operador) u OrElse (Operador).En la cadena de patrón de la primera cláusula
Like
, incluya la lista de caracteres, entre corchetes ([ ]
).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 "#######")