Saltar al contenido

PowerShell y el operador -contains

Solución:

los -Contains El operador no hace comparaciones de subcadenas y la coincidencia debe estar en una cadena completa y se usa para buscar colecciones.

De la documentación a la que vinculó:

-Contiene Descripción: Operador de contención. Indica si una colección de valores de referencia incluye un único valor de prueba.

En el ejemplo que proporcionó, está trabajando con una colección que contiene solo un elemento de cadena.

Si lee la documentación a la que vinculó, verá un ejemplo que demuestra este comportamiento:

Ejemplos:

PS C:> "abc", "def" -Contains "def"
True

PS C:> "Windows", "PowerShell" -Contains "Shell"
False  #Not an exact match

Creo que lo que quieres es el -Match operador:

"12-18" -Match "-"

Que vuelve True.

Importante: Como se señala en los comentarios y en la documentación vinculada, cabe señalar que el -Match El operador usa expresiones regulares para realizar coincidencias de texto.

-Contains es en realidad un operador de cobranza. Es cierto si la colección contiene el objeto. No se limita a cadenas.

-match y -imatch son comparadores de cadenas de expresiones regulares y establecen variables automáticas para usar con capturas.

-like, -ilike son comparadores similares a SQL.

Puedes usar like:

"12-18" -like "*-*"

O split por contains:

"12-18" -split "" -contains "-"
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *