(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 […]