PowerShellでStringが空かどうかをチェックする

Migel Hewage Nimesha 2023年9月19日
  1. PowerShellでStringがnullまたはでないかをチェックする
  2. PowerShellでStringがNullまたは空かどうかをチェックするためのIsNullOrEmptyの代替方法
  3. PowerShellでStringがNullまたは空かどうかをチェックするために-eqオペレータを使用する
  4. PowerShellでStringがNullまたは空かどうかをチェックするためにRegExを使用する
PowerShellでStringが空かどうかをチェックする

この記事では、PowerShellで指定されたStringがnullまたは空であるかどうかをチェックするために使用できるメソッドについて説明します。

PowerShellでStringがnullまたはでないかをチェックする

IsNullOrEmptyは一般的なスクリプト/プログラミング言語で、与えられたStringがまたはnullであるかどうかをチェックするためのStringメソッドです。nullは割り当てられていないString値であり、空のStringは " "または与えられたString.EmptyのStringです。

PowerShellでStringがNullまたは空かどうかをチェックするためのIsNullOrEmptyの代替方法

PowerShellのIsNullOrEmptyと同等の機能を実行するための簡単な方法があります。以下のコードセグメントが使用できます。

コマンドで与えられたStringがnullであるため、コードの出力は以下のようになります。

サンプルコード1:

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

出力:

empty

Stringがの場合、出力もです。

サンプルコード2:

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

出力:

empty

Stringがでもnullでもない場合、出力は空ではありませんです。

サンプルコード3:

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

出力:

not empty

2つのStringを比較し、であるかどうかを確認するコマンドもあります。

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

出力:

one or both empty

さらに、上記で使用された比較の一つとして、空でもないという可能性があります。これはIsNullOrEmptyを使用するための最も明確かつ簡潔な方法として識別できます。

上記の方法に加えて、PowerShellでIsNullOrEmptyの静的メソッドも使用できます。

PowerShellでStringがNullまたは空かどうかをチェックするために-eqオペレータを使用する

-eqオペレータは2つの値を等しく比較します。Stringを空のStringと比較して、それが空かどうかを確認できます。

コード:

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

出力:

String is empty

PowerShellでStringがNullまたは空かどうかをチェックするためにRegExを使用する

正規表現を使用して、Stringのパターンをマッチさせることができます。空またはホワイトスペースのみのStringにマッチするregexパターンを使用できます。

コード:

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

出力:

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.

関連記事 - PowerShell String