在 PowerShell 中檢查字串是否為空

Migel Hewage Nimesha 2023年9月19日
  1. 在 PowerShell 中檢查字串是否為Not NULLEMPTY
  2. 在 PowerShell 中檢查字串是否為空或 null 的其他方法
  3. 使用-eq運算符在 PowerShell 中檢查字串是否為空或 null
  4. 使用正則表達式在 PowerShell 中檢查字串是否為空或 null
在 PowerShell 中檢查字串是否為空

本文將討論可用於在 Powershell 中檢查給定字串是否為null或空的方法。

在 PowerShell 中檢查字串是否為Not NULLEMPTY

IsNullOrEmpty 是一種常見的腳本/程式語言中用於檢查給定字串是否為emptynull的字串方法。null 是尚未指定值的字串,而 empty 字串是一個含有 " "String.Empty 的字串。

在 PowerShell 中檢查字串是否為空或 null 的其他方法

有一種簡單的方法可以實現 PowerShell 中的IsNullOrEmpty等效功能。可以使用下列程式碼片段。

在指令中給出的字串為null。因此,程式碼的輸出如下。

程式碼範例 1:

PS C:\Users\Test> $str1 = $null
PS C:\Users\Test> if ($str1) { 'not empty' } else { 'empty' }

輸出:

empty

如果字串為empty,則輸出仍為empty

程式碼範例 2:

PS C:\Users\Test> $str2 = ''
PS C:\Users\Test> if ($str2) { 'not empty' } else { 'empty' }

輸出:

empty

如果字串既不是empty也不是null,則輸出為not empty

程式碼範例 3:

PS C:\Users\Test> $str3 = ' '
PS C:\Users\Test> if ($str3) { 'not empty' } else { 'empty' }

輸出:

not empty

有命令用於比較兩個字串並檢查兩個以上的字串是否為empty

PS C:\Users\Agni>  if ($str1 -and $str2) { 'neither empty' } else { 'one or both empty'}

輸出:

one or both empty

此外,neither empty是上述用於比較兩個已聲明字串之一的可能的比較方式。這可以被認為是使用IsNullOrEmpty的最清晰最簡潔的方法。

除了上述方法外,還可以在 PowerShell 中使用IsNullOrEmpty靜態方法。

使用-eq運算符在 PowerShell 中檢查字串是否為空或 null

-eq運算符用於比較兩個值是否相等。您可以將一個字串與空字串進行比較,以檢查其是否為空。

程式碼:

$str1 = ""
if ($str1 -eq "") {
Write-Host "String is empty"
} else {
Write-Host "String is not empty"
}

輸出:

String is empty

使用正則表達式在 PowerShell 中檢查字串是否為空或 null

可以使用正則表達式來匹配字串的模式。可以使用匹配空或僅包含空白的正則表達式模式。

程式碼:

$str4 = "   "
if ($str4 -match "^\s*$") {
Write-Host "String is empty"
} else {
Write-Host "String is not empty"
}

輸出:

String is empty
Migel Hewage Nimesha avatar Migel Hewage Nimesha avatar

Nimesha is a Full-stack Software Engineer for more than five years, he loves technology, as technology has the power to solve our many problems within just a minute. He have been contributing to various projects over the last 5+ years and working with almost all the so-called 03 tiers(DB, M-Tier, and Client). Recently, he has started working with DevOps technologies such as Azure administration, Kubernetes, Terraform automation, and Bash scripting as well.

相關文章 - PowerShell String