PowerShell: compruebe si la cadena contiene alguna subcadena de la matriz
Puede usar la siguiente sintaxis en PowerShell para verificar si una cadena contiene alguna subcadena de una matriz:
($list_of_substrings | % {$string.contains($_)}) -contains $true
Este ejemplo en particular comprueba si la variable de cadena denominada $string contiene alguna de las subcadenas en la matriz denominada $list_of_substrings.
Así es como funciona esta sintaxis:
Primero, canalizamos ( | ) la matriz $list_of_substrings en un bucle foreach ( % ) y verificamos si cada La subcadena de la matriz existe en la variable $string.
Esto devuelve una lista de valores Verdadero y Falso para indicar si cada subcadena existe en la matriz o no.
Por último, usamos -contains $true para verificar si alguno de los valores devolvió True, lo que indicaría que existe al menos una subcadena en la matriz.
El siguiente ejemplo muestra cómo utilizar esta sintaxis en la práctica.
Ejemplo: comprobar si la cadena contiene alguna subcadena de la matriz en PowerShell
Supongamos que tenemos una matriz llamada $list_of_substrings que contiene los nombres de varios equipos de baloncesto.
Supongamos que también tenemos una variable de cadena llamada $string que contiene una cadena con información sobre nuestro equipo de baloncesto favorito.
Podemos usar la siguiente sintaxis para comprobar si $string contiene alguna subcadena de $list_of_substrings:
$string = 'My favorite team is the Nets'
$list_of_substrings = @('Mavs', 'Nets', 'Kings')
($list_of_substrings | % {$string.contains($_)}) -contains $true
La siguiente captura de pantalla muestra cómo utilizar esta sintaxis en la práctica:
La declaración devuelve Verdadero porque la cadena efectivamente contiene al menos una subcadena ("Nets") de la matriz de subcadenas.
Nota: Puede encontrar la documentación completa para el operador contiene en PowerShell aquí.
