PowerShellで、変数の値が空文字(ブランク)かどうかを判定する方法を解説します。
判定方法 その1
ここでは、if文を使用して、変数の値が空文字かどうかを判定する方法を説明します。
書式
空文字[""
]と条件分岐[if]文を組み合わせることで判定することが出来ます。
if (変数名 -eq "") { 文字列が空文字(ブランク)の場合に実行する処理 }
サンプル
変数がブランクであるかを確認するサンプルです。
$var = "" if ($var -eq "") { Write-Host "値は「空文字(ブランク)」です" }else{ Write-Host "値は「空文字(ブランク)」ではありません" }
サンプルの実行結果です。
PS C:\workspace\PowerShell> .\test.ps1 値は「空文字(ブランク)」です
判定方法 その2
ここでは、bool型を使用して、変数の値が空文字かどうかを判定する方法を説明します。
書式
変数をboolでキャストすることで判定することが出来ます。
また、変数をboolでキャストしただけでは、null値もヒットしてしまうので、null値にヒットしないように条件を追加しています。
if (-not [bool]変数名 -and 変数名 -ne $null) { 文字列が空文字(ブランク)の場合に実行する処理 }
サンプル
変数がブランクであるかを確認するサンプルです。
$var = "" if (-not [bool]$var -and $var -ne $null) { Write-Host "値は「空文字(ブランク)」です" }else{ Write-Host "値は「空文字(ブランク)」ではありません" }
サンプルの実行結果です。
PS C:\workspace\PowerShell> .\test.ps1 値は「空文字(ブランク)」です
判定方法 その3
ここでは、IsNullOrEmptyメソッドを使用して、変数の値が空文字かどうかを判定する方法を説明します。
書式
IsNullOrEmptyメソッドを使用することで判定することが出来ます。
また、IsNullOrEmptyメソッドだけでは、null値もヒットしてしまうので、null値にヒットしないように条件を追加しています。
if ([String]::IsNullOrEmpty(変数名) -and 変数名 -ne $null) { 変数が空文字(ブランク)の場合に実行する処理 }
サンプル
変数が空文字であるかを確認するサンプルです。
$var = "" if ([String]::IsNullOrEmpty($var) -and $var -ne $null) { Write-Host "値は「空文字(ブランク)」です" }else{ Write-Host "値は「空文字(ブランク)」ではありません" }
サンプルの実行結果です。
PS C:\workspace\PowerShell> .\test.ps1 値は[null]です
リンク
コメント