Búsqueda de sitios web

¿Cómo comprobar si una cadena comienza con un número en PowerShell?


Mientras trabajaba con manipulaciones de cadenas en PowerShell, recibí el requisito de determinar si una cadena comienza con un número. En este tutorial, exploraremos diferentes métodos para verificar si una cadena comienza con un número en PowerShell con ejemplos.

Para comprobar si una cadena comienza con un número en PowerShell, puede utilizar el operador -match con una expresión regular. Por ejemplo, considere las cadenas "123MainStreet" y "MainStreet789". Puede utilizar el siguiente código para determinar si una cadena comienza con un número:

$names = @("123MainStreet", "MainStreet789")
foreach ($name in $names) {
    if ($name -match '^\d') {
        Write-Output "$name starts with a number."
    } else {
        Write-Output "$name does not start with a number."
    }
}

Este script utiliza el patrón de expresiones regulares ^\d para hacer coincidir cualquier cadena que comience con un dígito.

Compruebe si una cadena comienza con un número en PowerShell

Ahora, déjame mostrarte cómo comprobar si una cadena comienza con un número en PowerShell usando esos métodos.

Método 1: usar expresiones regulares

En el primer método, déjame mostrarte cómo usar expresiones regulares (regex) para comprobar si una cadena comienza con un número.

En PowerShell, puede utilizar el operador -match con un patrón de expresiones regulares para comprobar si una cadena comienza con un número.

Entendámoslo con un ejemplo.

Ejemplo

Digamos que aquí hay algunas cadenas.

  • “Calle principal 123”
  • “Calle Elm 456”
  • “Calle Principal789”
  • “7ma Avenida”

Queremos comprobar si estas cadenas comienzan con un número usando expresiones regulares.

$names = @("123MainStreet", "456ElmStreet", "MainStreet789", "7thAvenue")

foreach ($name in $names) {
    if ($name -match '^\d') {
        Write-Output "$name starts with a number."
    } else {
        Write-Output "$name does not start with a number."
    }
}
  • ^\d: ^ afirma la posición al inicio de la cadena y \d coincide con cualquier dígito.
  • El operador -match comprueba si la cadena coincide con el patrón de expresiones regulares.

Ejecuté el script de PowerShell anterior usando código VS y puedes ver el resultado en la siguiente captura de pantalla:

Lea ¿Cómo crear subcadenas en PowerShell?

Método 2: usar métodos de cadena

PowerShell proporciona métodos de cadena integrados que se pueden usar para comprobar si una cadena comienza con un número. El método StartsWith se puede combinar con el método IsDigit para comprobar si el primer carácter de la cadena es un dígito en PowerShell.

Ejemplo

Aquí hay un ejemplo.

$names = @("123MainStreet", "456ElmStreet", "MainStreet789", "7thAvenue")

foreach ($name in $names) {
    if ([char]::IsDigit($name[0])) {
        Write-Output "$name starts with a number."
    } else {
        Write-Output "$name does not start with a number."
    }
}
  • $name[0]: Accede al primer carácter de la cadena.
  • [char]::IsDigit: Comprueba si el carácter es un dígito.

Mire la captura de pantalla a continuación para verificar el resultado exacto del script de PowerShell anterior.

Método 3: uso del cmdlet Select-String

El cmdlet Select-String de PowerShell se puede utilizar para buscar patrones en cadenas.

Comprobemos esto con un ejemplo.

Ejemplo

A continuación se muestra un ejemplo para comprobar si una cadena comienza con un número utilizando el cmdlet Select-String en PowerShell.

$names = @("123MainStreet", "456ElmStreet", "MainStreet789", "7thAvenue")

foreach ($name in $names) {
    if ($name | Select-String -Pattern '^\d') {
        Write-Output "$name starts with a number."
    } else {
        Write-Output "$name does not start with a number."
    }
}
  • Select-String -Pattern '^\d': busca el patrón al inicio de la cadena.

La siguiente captura de pantalla muestra el resultado después de ejecutar el script de PowerShell anterior usando código VS. También obtendrá el mismo resultado.

Conclusión

En PowerShell, puede comprobar si una cadena comienza con un número utilizando varios métodos, como expresiones regulares, métodos de cadena, cmdlets, etc.

Vimos algunos ejemplos de cómo comprobar si una cadena comienza con un número en PowerShell y espero que esto ayude.

Artículos relacionados