Rainbow Engine

IT技術を分かりやすく簡潔にまとめることによる学習の効率化、また日常の気付きを記録に残すことを目指します。

Powershell

Powershellで文字列がnullかどうか判定する方法

投稿日:2020年11月26日 更新日:

<目次>

(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か空白【である】事をチェックする場合」

上記構文を使い「Nullか空白なら」の条件はif文を用いて次のように記述します。
# 実行コマンド
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)

目次にもどる

Adsense審査用広告コード


Adsense審査用広告コード


-Powershell

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

Powershellで実行中のファイル名を取得する方法

<目次> (1) Powershellで実行中のファイル名を取得する方法  (1-1) 構文①  (1-2) 構文①サンプルプログラム  (1-3) 構文②  (1-4) 構文②サンプルプログラム ( …

Powershellで文字列のダブルクォーテーションを削除する方法

<目次> (1) Powershellで文字列のダブルクォーテーションを削除する方法  (1-1) 方法1:.NETのString.Formatメソッドを使う方法  (1-2) 方法2:Powersh …

Powershellのハッシュテーブル(hashtable)の作成方法や値の取得方法をご紹介

<目次> (1) Powershellのハッシュテーブル(hashtable)の作成方法や値の取得方法をご紹介  (1-1) ハッシュテーブルとは?  (1-2) ハッシュテーブルの構文  (1-3) …

バッチから引数を与えてPowershellを実行する方法

<目次> (1) バッチからPowershellを実行する方法  (1-1) 構文①  (1-2) 構文② (2) バッチから引数を与えてPowershellを実行する方法  (2-1) 引数を表現す …

Powershellで親フォルダのパスを取得する方法+Split-Pathコマンドレットのオプションも併せてご紹介

<目次> (1) Powershellで親フォルダのパスを取得する方法  (1-1) 構文と使用例  (1-2) ご参考:Split-Pathのオプション (2) Powershellでフォルダ配下の …

  • English (United States)
  • 日本語
Top