Búsqueda de sitios web

Comparación de cadenas que no distinguen entre mayúsculas y minúsculas en PowerShell


Este tutorial trata sobre la comparación de cadenas que no distinguen entre mayúsculas y minúsculas en PowerShell. Este es un requisito muy común cuando se trabaja con cadenas. Le mostraré cómo hacer comparaciones de cadenas que no distinguen entre mayúsculas y minúsculas en PowerShell utilizando varios métodos.

Para comparar cadenas sin distinguir entre mayúsculas y minúsculas en PowerShell, puede utilizar el operador -ieq, que especifica explícitamente una comparación que no distingue entre mayúsculas y minúsculas. Por ejemplo:

$state1 = "California"
$state2 = "california"

if ($state1 -ieq $state2) {
    Write-Output "The states are the same."
} else {
    Write-Output "The states are different."

En este caso, el resultado será "Los estados son los mismos". porque -ieq realiza una comparación que no distingue entre mayúsculas y minúsculas.

Aquí hay 5 métodos diferentes y ejemplos para “PowerShell compara cadenas sin distinguir entre mayúsculas y minúsculas”.

1. Usando el operador -eq

De forma predeterminada, el operador -eq en PowerShell realiza una comparación que no distingue entre mayúsculas y minúsculas. Esto facilita la comparación de dos cadenas sin preocuparse por las mayúsculas y minúsculas.

Aquí tenéis un guión completo.

$city1 = "New York"
$city2 = "new york"

if ($city1 -eq $city2) {
    Write-Output "The cities are the same."
} else {
    Write-Output "The cities are different."
}

En este ejemplo, el resultado será "Las ciudades son iguales". porque el operador -eq ignora mayúsculas y minúsculas de forma predeterminada.

Ejecuté el script anterior; Puede ver que dio el resultado exacto a continuación.

Lea Agregar comillas dobles en una cadena en PowerShell

2. Usando el operador -ieq

El operador -ieq especifica explícitamente una comparación que no distingue entre mayúsculas y minúsculas. Se comporta igual que el operador -eq pero deja claro en el script que la comparación no distingue entre mayúsculas y minúsculas.

Aquí hay un ejemplo.

$state1 = "California"
$state2 = "california"

if ($state1 -ieq $state2) {
    Write-Output "The states are the same."
} else {
    Write-Output "The states are different."
}

El resultado será "Los estados son iguales". debido a la comparación que no distingue entre mayúsculas y minúsculas.

Después de ejecutar el script de PowerShell usando el código VS, puede ver la captura de pantalla a continuación.

3. Usando el operador -match

El operador -match en PowerShell se utiliza para comparaciones de expresiones regulares y no distingue entre mayúsculas y minúsculas de forma predeterminada. Esto puede resultar útil cuando necesite realizar una coincidencia de patrones.

Aquí hay un ejemplo.

$address = "123 Main St, San Francisco, CA"
$pattern = "san francisco"

if ($address -match $pattern) {
    Write-Output "The address contains San Francisco."
} else {
    Write-Output "The address does not contain San Francisco."
}

En este ejemplo, el resultado será "La dirección contiene San Francisco". porque -match ignora mayúsculas y minúsculas.

Lea ¿Cómo recortar cadenas en PowerShell?

4. Uso del operador -contiene

El operador PowerShell -contains comprueba si una colección contiene un valor específico y no distingue entre mayúsculas y minúsculas de forma predeterminada.

Aquí hay un ejemplo.

$cities = @("Los Angeles", "Chicago", "Houston")
$searchCity = "chicago"

if ($cities -contains $searchCity) {
    Write-Output "The city is in the list."
} else {
    Write-Output "The city is not in the list."
}

Aquí, el resultado será "La ciudad está en la lista". porque -contains realiza una comprobación que no distingue entre mayúsculas y minúsculas.

5. Usando el método .ToLower()

Este es otro método útil para comparar cadenas que no distinguen entre mayúsculas y minúsculas en PowerShell.

Puede convertir ambas cadenas a minúsculas (o mayúsculas) y luego compararlas. Este método garantiza que la comparación no distinga entre mayúsculas y minúsculas en PowerShell.

A continuación se muestra un ejemplo de cómo utilizar el método .ToLower() para convertir ambas cadenas a minúsculas y luego compararlas.

$president1 = "Barack Obama"
$president2 = "barack obama"

if ($president1.ToLower() -eq $president2.ToLower()) {
    Write-Output "The presidents are the same."
} else {
    Write-Output "The presidents are different."
}

En este caso, el resultado será "Los presidentes son los mismos". porque ambas cadenas se convierten a minúsculas antes de la comparación.

Mire la captura de pantalla a continuación. Ejecuté el script anterior, que muestra el resultado exacto requerido.

Conclusión

PowerShell proporciona varias formas de realizar comparaciones de cadenas que no distinguen entre mayúsculas y minúsculas. Al igual que usted, utilice operadores de PowerShell como -eq, -ieq, -match o métodos como .ToLower(), lo que garantiza que las comparaciones de cadenas sean precisas y no distingan entre mayúsculas y minúsculas.

Espero que esto ayude; por favor comente a continuación si todavía tiene alguna pregunta.

Artículos relacionados