Comprobar si la cadena está vacía en PowerShell

Migel Hewage Nimesha 19 septiembre 2023
  1. Comprobar si una cadena no es NULL o vacía en PowerShell
  2. Alternativas a IsNullOrEmpty para comprobar si una cadena es nula o vacía en PowerShell
  3. Utiliza el operador -eq para comprobar si una cadena es nula o vacía en PowerShell
  4. Utiliza RegEx para comprobar si una cadena es nula o vacía en PowerShell
Comprobar si la cadena está vacía en PowerShell

En este artículo discutiremos los métodos que se pueden utilizar para comprobar si una cadena determinada es “nula” o vacía en Powershell.

Comprobar si una cadena no es NULL o vacía en PowerShell

IsNullOrEmpty es un método común de scripting/programación, un método de cadena para comprobar si una cadena determinada está “vacía” o es “nula”. Un valor nulo es un valor de cadena que no se ha asignado, y una cadena vacía es una cadena con " " o String.Empty.

Alternativas a IsNullOrEmpty para comprobar si una cadena es nula o vacía en PowerShell

Hay una forma fácil de hacer la función equivalente de PowerShell de IsNullOrEmpty. Se pueden utilizar los siguientes segmentos de código.

La cadena dada en el comando es nula. Por lo tanto, la salida del código es la siguiente.

Código de ejemplo 1:

PS C:\Users\Test> $str1 = $null
PS C:\Users\Test> if ($str1) { 'not empty' } else { 'empty' }

Salida:

empty

Si la cadena está vacía, la salida sigue siendo vacía.

Código de ejemplo 2:

PS C:\Users\Test> $str2 = ''
PS C:\Users\Test> if ($str2) { 'not empty' } else { 'empty' }

Salida:

empty

Si la cadena no está vacía y no es nula, la salida es no vacía.

Código de ejemplo 3:

PS C:\Users\Test> $str3 = ' '
PS C:\Users\Test> if ($str3) { 'not empty' } else { 'empty' }

Salida:

not empty

Hay comandos para comparar dos cadenas y comprobar si dos o más están vacías.

PS C:\Users\Agni>  if ($str1 -and $str2) { 'neither empty' } else { 'one or both empty'}

Salida:

one or both empty

Además, ni vacía es una posible comparativa utilizada anteriormente para comparar dos cadenas declaradas. Esto se puede identificar como el método más claro y conciso de utilizar IsNullOrEmpty.

Además del método anterior, también se puede utilizar el método estático de IsNullOrEmpty en PowerShell.

Utiliza el operador -eq para comprobar si una cadena es nula o vacía en PowerShell

El operador -eq compara dos valores para comprobar si son iguales. Puedes comparar una cadena con una cadena vacía para comprobar si está vacía.

Código:

$str1 = ""
if ($str1 -eq "") {
Write-Host "String is empty"
} else {
Write-Host "String is not empty"
}

Salida:

String is empty

Utiliza RegEx para comprobar si una cadena es nula o vacía en PowerShell

Los patrones de una cadena se pueden emparejar utilizando expresiones regulares. Puedes utilizar un patrón de regex que coincida con cadenas vacías o solo con espacios en blanco.

Código:

$str4 = "   "
if ($str4 -match "^\s*$") {
Write-Host "String is empty"
} else {
Write-Host "String is not empty"
}

Salida:

String is empty
Migel Hewage Nimesha avatar Migel Hewage Nimesha avatar

Nimesha is a Full-stack Software Engineer for more than five years, he loves technology, as technology has the power to solve our many problems within just a minute. He have been contributing to various projects over the last 5+ years and working with almost all the so-called 03 tiers(DB, M-Tier, and Client). Recently, he has started working with DevOps technologies such as Azure administration, Kubernetes, Terraform automation, and Bash scripting as well.

Artículo relacionado - PowerShell String