(1) Powershellで文字列がnullかどうか判定する方法
(1-1) 構文
(1-2) 構文使用例
(1-3) サンプルプログラム
(1) Powershellで文字列がnullかどうか判定する方法
(1-1) 構文
今回ご紹介する「IsNullOrEmpty」を使う方法は「チェック対象文字列」に指定した文字列が「null」or「空白」なら「true」が返却され、それ以外(nullか空白以外)では「false」になります。
[string]::IsNullOrEmpty([チェック対象文字列])
(表1)
| 条件 | 返却値 |
| [チェック対象文字列]が「null」か「空白」 | TRUE |
| [チェック対象文字列]が上記以外 | FALSE |
また[チェック対象文字列]については直接入力もできますし、変数で与える事も可能です。
(1-2) 構文使用例
実際に「nullか空白の場合」と「それ以外の場合」とで、イメージが湧きやすくなるよう使用例をご紹介します。
①「Nullか空白【である】事をチェックする場合」
# 実行コマンド
if ([string]::IsNullOrEmpty($null)){
echo "Test_1 String is null !"
}
# 実行結果
# ⇒echoされる
②「Nullか空白【でない】事をチェックする場合」
逆のパターンは否定の「-not」を用いて次のように記述します。
# 実行コマンド
if (-not ([string]::IsNullOrEmpty($null))){
echo "Test_1 String is null !"
}
# 実行結果
# ⇒echoされない
(1-3) サンプルプログラム
次はサンプルプログラムで、様々なパターンの挙動を確認します。
(サンプルプログラム1)
# [Test_1] 「null」はtrue判定(=null扱い)になる
if ([string]::IsNullOrEmpty($null)){
echo "Test_1 String is null !"
}
# [Test_2] 「空文字列」もtrue判定(=null扱い)になる
if ([string]::IsNullOrEmpty("")){
echo "Test_2 String is null !"
}
# [Test_3] 「半角スペース」はfalse判定になる
if ([string]::IsNullOrEmpty(" ")){
echo "Test_3 String is null !"
}
(表)
| テスト番号 | テスト内容 | 結果 |
| Test1 | null (直接指定) |
true |
| Test2 | 空文字列 (直接指定) |
true |
| Test3 | 半角スペース (直接指定) |
false |
(図131)

(サンプルプログラム2)
# [Test_4] 変数でも指定可能
$temp1 = "aaaa"
if ([string]::IsNullOrEmpty($temp1)){
echo "Test_4 String temp1 is null !"
}
# [Test_5] 変数でも指定可能
$temp2 = $null
if ([string]::IsNullOrEmpty($temp2)){
echo "Test_5 String temp2 is null !"
}
(表)
| テスト番号 | テスト内容 | 結果 |
| Test4 | 文字列「aaaa」 (変数指定) |
false |
| Test5 | null (変数指定) |
true |
(図132)

(サンプルプログラム2)
# [Test_6] 肯定ケース
if ([string]::IsNullOrEmpty("aaa")){
echo "Test_6 String is null !"
}
# [Test_7] 否定(-not)ケース
# "aaa"なのでnullでない、つまりfalseになりますが、その否定(-not)なのでtrueになる
if (-not ([string]::IsNullOrEmpty("aaa"))){
echo "Test_7 String is not null !"
}
(表)
| テスト番号 | テスト内容 | 結果 |
| Test6 | 文字列「aaa」 (直接指定) |
false |
| Test7 | 文字列「aaa」 (直接指定、-not否定) |
true |
(図133)

[…] Powershell で文字列が null かどうか判定する方法 | Rainbow Engine […]
[…] Powershell で文字列が null かどうか判定する方法 | Rainbow Engine […]