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