Búsqueda de sitios web

PowerShell: cómo comprobar si una cadena contiene caracteres especiales


A menudo, en PowerShell es posible que desee comprobar si una cadena contiene caracteres especiales.

Puede utilizar la siguiente sintaxis para hacerlo:

$my_string -match '[^a-zA-Z0-9 ]'

Este ejemplo en particular comprueba si la variable de cadena denominada $my_string contiene caracteres especiales y devuelve True si los contiene o False en caso contrario.

Esta sintaxis utiliza el operador -match para comprobar si hay caracteres que no coinciden ( ^ ) con alguno de los siguientes caracteres:

  • a-z: cualquier letra minúscula
  • A-Z: cualquier letra mayúscula
  • 0-9: cualquier número

Nota: También incluimos un espacio al final de los corchetes para que un espacio no se considere un carácter especial. Siéntase libre de omitir esto si lo desea.

El siguiente ejemplo muestra cómo utilizar esta sintaxis en la práctica.

Ejemplo: Cómo comprobar si una cadena contiene caracteres especiales en PowerShell

Supongamos que creamos una variable de cadena llamada $my_string con el siguiente texto:

I am the proud owner of 3 dogs

Podemos usar la siguiente sintaxis para verificar si esta cadena contiene algún carácter especial:

$my_string = 'I am the proud owner of 3 dogs'
$my_string -match '[^a-zA-Z0-9 ]' 

La siguiente captura de pantalla muestra cómo utilizar esta sintaxis en la práctica:

Esto devuelve False, lo que indica que la variable de cadena denominada $my_string no contiene ningún carácter especial.

Podemos verificar que esto es correcto mirando manualmente la cadena y viendo que solo contiene números, letras y espacios.

Supongamos que creamos una variable de cadena llamada $my_string con el siguiente texto:

I am the proud owner of $3

Podemos usar la siguiente sintaxis para verificar si esta cadena contiene algún carácter especial:

$my_string = 'I am the proud owner of $3'
$my_string -match '[^a-zA-Z0-9 ]' 

La siguiente captura de pantalla muestra cómo utilizar esta sintaxis en la práctica:

Esto devuelve Verdadero, lo que indica que la variable de cadena denominada $my_string contiene al menos un carácter especial.

En este ejemplo particular, el signo de dólar ( $ ) en la cadena se considera un carácter especial, razón por la cual el operador -match devuelve Verdadero.

Nota: Puede encontrar la documentación completa para el operador -match en PowerShell aquí.

Artículos relacionados