Cómo comprobar el comienzo de una cadena usando PowerShell
-
Usando el operador lógico
-like
para comprobar el comienzo de una cadena en PowerShell -
Usando el operador lógico
-clike
para comprobar el comienzo de una cadena en PowerShell -
Usando la función
StartsWith()
para comprobar el comienzo de una cadena en PowerShell - Comparación con Subcadena para comprobar el comienzo de una cadena en PowerShell
- Conclusión

Puede haber ocasiones en las que encontremos un caso de uso que requiera funcionalidad para verificar si una variable de cadena comienza con un carácter o una cadena. Comprobar si una cadena comienza con un carácter o cadena específica es una práctica común al hacer scripts y también es razonablemente fácil cuando se escribe en Windows PowerShell.
Este artículo demostrará cómo verificar el comienzo de una variable de cadena utilizando diferentes métodos en Windows PowerShell.
Usando el operador lógico -like
para comprobar el comienzo de una cadena en PowerShell
En PowerShell, el operador lógico -Like
es una herramienta poderosa para la coincidencia de patrones. Cuando se utiliza para comprobar el comienzo de una cadena, permite comparaciones flexibles basadas en caracteres comodín.
Por defecto, el operador -Like
ignora la declaración sensible a mayúsculas y minúsculas. Sin embargo, si usamos operadores lógicos, debe estar asociado a un asterisco comodín (*
).
Código:
$strVal = 'Hello World'
if ($strVal -like 'hello*') {
Write-Host "Your string starts with hello."
}
else {
Write-Host "Your string does not start with hello."
}
Salida:
Your string starts with hello.
En el código, inicializamos una variable de cadena, $strVal = 'Hello World'
. Luego usamos el operador -like
para comprobar si la cadena ($strVal
) comienza con el prefijo 'hello'
.
El operador -like
permite la coincidencia de patrones utilizando caracteres comodín, y en este caso, el asterisco (*
) representa cero o más caracteres. La declaración condicional evalúa si la cadena coincide con el patrón 'hello*'
.
En este caso, la condición es verdadera y la salida es Su cadena comienza con hello
.
Usando el operador lógico -clike
para comprobar el comienzo de una cadena en PowerShell
El operador -clike
en PowerShell se usa para realizar una comparación de cadenas sensible a mayúsculas y minúsculas. Verifica si una cadena coincide con un patrón especificado, similar al operador -like
, pero es sensible a mayúsculas y minúsculas.
Esto significa que el operador -clike
solo devolverá True
si el caso de los caracteres en la cadena coincide exactamente con el caso de los caracteres en el patrón. Podemos utilizar el operador -cLike
para realizar una comparación sensible a mayúsculas y minúsculas.
Código:
$strVal = 'Hello World!'
if ($strVal -clike 'h*') {
Write-Host "Your string starts with lowercase h."
}
else {
Write-Host "Your string starts with uppercase H."
}
Salida:
Your string starts with uppercase H.
En este código, inicializamos una variable de cadena, $strVal
, con el valor 'Hello World!'
. Empleamos el operador -clike
, que se usa para comparación de cadenas sensible a mayúsculas y minúsculas, para comprobar si la cadena comienza con la letra minúscula 'h'
.
La declaración condicional evalúa si la cadena coincide con el patrón 'h*'
de manera sensible a mayúsculas y minúsculas. Dado que la condición es falsa, indicando que la cadena comienza con una 'H'
mayúscula, mostramos Su cadena comienza con una H mayúscula
.
Recuerde, el operador -clike
es sensible a mayúsculas y minúsculas, por lo que no coincidirá con cadenas si el caso de los caracteres no coincide exactamente. Si queremos realizar una comparación que no distinga entre mayúsculas y minúsculas, podemos utilizar el operador -like
en su lugar.
Usando la función StartsWith()
para comprobar el comienzo de una cadena en PowerShell
También podemos utilizar la función de extensión de cadena del marco .NET llamada StartsWith()
para verificar si una cadena comienza con un conjunto de caracteres.
La función StartsWith()
en PowerShell es un método para verificar si una cadena comienza con un prefijo específico. La función StartsWith()
es un método incorporado para cadenas en PowerShell que devuelve un valor Booleano que indica si la cadena dada comienza con la subcadena especificada.
Código:
$strVal = 'Hello World!'
if ($strVal.StartsWith('Hello')) {
Write-Host 'Your string starts with hello.'
}
else {
Write-Host 'Your string does not start with hello.'
}
Salida:
Your string starts with hello.
En el código anterior, comprobamos si la variable de cadena $strVal
comienza con 'Hello'
usando el método StartsWith()
. Dado que la condición es verdadera, mostramos Su cadena comienza con hello
.
La función StartsWith
también acepta otro argumento que podemos usar para comprobar caracteres sensibles a mayúsculas y minúsculas. Este argumento es CurrentCultureIgnoreCase
.
Usaremos el siguiente método si queremos realizar una comparación sensible a mayúsculas y minúsculas.
Código:
$strVal = 'Hello world'
if ($strVal.StartsWith('hello', 'CurrentCultureIgnoreCase')) {
Write-Host 'True'
}
else {
Write-Host 'False'
}
Salida:
True
En este código, comprobamos si la variable de cadena $strVal
comienza con 'hello'
de manera que no distinga entre mayúsculas y minúsculas usando el método StartsWith()
con el parámetro 'CurrentCultureIgnoreCase'
. Dado que la condición es verdadera, mostramos True
.
Comparación con Subcadena para comprobar el comienzo de una cadena en PowerShell
En este enfoque, se emplea la función Substring()
para comparar un prefijo específico con la parte inicial de una cadena dada. Esta comparación ayuda a determinar si la cadena comienza con la secuencia de caracteres predefinida.
En PowerShell, el método Substring permite la extracción de una porción de una cadena basada en el índice de inicio y la longitud especificados. Al usar este método, podemos adquirir una subcadena de la cadena original y luego compararla con un prefijo deseado para comprobar si la cadena comienza con esa secuencia específica.
Sintaxis básica:
$substringToCompare = $strVal.Substring(0, $prefix.Length)
Parámetros:
$strVal
- Esta es la variable que contiene la cadena original de la cual queremos extraer una subcadena.0
- El0
es el índice de inicio.$prefix.Length
- Esta es la longitud de la subcadena que se va a extraer. En nuestro ejemplo, es la longitud del prefijo que queremos comprobar.$substringToCompare
- Esta es una variable que almacena el resultado de la operación Substring. Contendrá la subcadena extraída de la cadena original.
La sintaxis anterior crea esencialmente una subcadena de la cadena original, comenzando desde el principio, con una longitud igual a la longitud del prefijo especificado.
Código:
$strVal = 'Hello World!'
$prefix = 'Hello'
if ($strVal.Substring(0, $prefix.Length) -eq $prefix) {
Write-Output "String starts with $prefix"
}
else {
Write-Output "String does not start with $prefix"
}
Salida:
String starts with Hello
En este código, tenemos una variable de cadena, $strVal = 'Hello World!'
y un prefijo, $prefix = 'Hello'
. Usamos el método Substring()
para extraer una porción de la cadena original comenzando desde el índice 0
con una longitud idéntica a la longitud del prefijo.
El script luego compara esta subcadena extraída con el prefijo especificado utilizando el operador -eq
. Dado que la condición es verdadera, indicando que la cadena comienza con 'Hello'
, mostramos La cadena comienza con Hello
.
Conclusión
En conclusión, este artículo ha demostrado varios métodos para comprobar el comienzo de una variable de cadena en Windows PowerShell. Exploramos el uso del operador lógico -like
para la coincidencia de patrones, mostrando su flexibilidad con caracteres comodín.
Además, profundizamos en el operador lógico -clike
para comparaciones sensibles a mayúsculas y minúsculas. Además, cubrimos la función StartsWith()
, utilizando comprobaciones tanto sensibles como insensibles a mayúsculas y minúsculas para determinar si la cadena comienza con un prefijo específico.
Finalmente, examinamos la función Substring()
como un enfoque alternativo, ilustrando su aplicación en la comparación de una subcadena con una secuencia predefinida y mostrando resultados basados en la evaluación. Estos métodos ofrecen versatilidad para diferentes casos de uso, mejorando las capacidades de comparación de cadenas en scripts de PowerShell.
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedInArtículo relacionado - PowerShell String
- Cómo encontrar la posición de una subcadena en PowerShell
- Cómo reemplazar un texto en un archivo usando PowerShell
- Cómo verificar si una cadena no es NULL o VACÍA en PowerShell
- Comprobar si la cadena está vacía en PowerShell
- Cómo convertir una cadena segura a texto sin formato en PowerShell
- Cómo eliminar espacios de una variable usando PowerShell