How to check if a string is null or empty in PowerShell?

It’s straightforward to check if the string is null or empty in C# and Java. However, in PowerShell, it is slightly tricky as it does not hold a null value.
There are two best ways to verify if the string is null or empty, and let’s look at both approaches with examples.

How to check if a string is null or empty in PowerShell?

While writing PowerShell scripts, it would be best to remember that any null will be converted into empty strings. So even if you pass any null value to commandlet or functions, it will be converted to an empty string.

Using IsNullOrEmpty() Static Method

PowerShell comes up with a built-in static method named IsNullOrEmpty() which could verify the null or empty check.

Syntax:

[string]::IsNullOrEmpty(...)

Example of IsNullOrEmpty() in PowerShell

$str1 = $null
[string]::IsNullOrEmpty($str1)

The above code returns true which mean the string is empty.

Using conditional Statement

The second approach is to use a conditional statement to verify if the string is empty or null. Let’s take a look at the different examples and scenarios.

> $str1 = $null
> if ($str1) { 'not empty' } else { 'empty' }
empty

> $str2 = ''
> if ($str2) { 'not empty' } else { 'empty' }
empty

> $str3 = ' '
> if ($str3) { 'not empty' } else { 'empty' }
not empty

> $str4 = 'asdf'
> if ($str4) { 'not empty' } else { 'empty' }
not empty

> if ($str1 -and $str2) { 'neither empty' } else { 'one or both empty' }
one or both empty

> if ($str3 -and $str4) { 'neither empty' } else { 'one or both empty' }
neither empty

Using IsNullOrWhiteSpace()

We can also use the method IsNullOrWhiteSpace() from the “System.String” class to detect a given string is NULL or EMPTY and whether it has Whitespace.

Note: The method IsNullOrWhiteSpace() is available only from .NET Frmaework 4.0 and hence it works only on Powershell 3.0+ versions.

$mystring = " "           
IF([string]::IsNullOrWhiteSpace($mystring)) {            
    Write-Host "String is either null or empty or has whitespace"           
} else {            
    Write-Host "Your string is not empty"           
}  
Leave a Reply

Your email address will not be published.

Sign Up for Our Newsletters

Get notified of the best deals on our WordPress themes.

You May Also Like
Powershell Concatenate String

PowerShell Concatenate String

Table of Contents Hide Introduction to PowerShell Concatenate StringHow to Concatenate Strings and Variables in PowerShell#1. Expanding Strings#2. Substitution or string.Format approach#3 Join Operator Microsft PowerShell scripting is little different from…
View Post
Node.js

Node.js Environment Setup

Table of Contents Hide NodeJS Installation Video TutorialInstalling Node.js and npm on Windows Operating SystemInstalling Node.js and npm on MacInstalling Node.js using XCode and HomebrewInstall Node.js on Ubuntu It’s very…
View Post