当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] PowerShell 中不区分大小写的字符串比较

作者:精品下载站 日期:2024-12-14 05:13:42 浏览:15 分类:玩电脑

PowerShell 中不区分大小写的字符串比较


本教程介绍 PowerShell 中不区分大小写的字符串比较。这是使用字符串时非常常见的要求。我将向您展示如何使用各种方法在 PowerShell 中进行不区分大小写的字符串比较

要在 PowerShell 中不区分大小写地比较字符串,可以使用 -ieq 运算符,它显式指定不区分大小写的比较。例如:

$state1 = "California"
$state2 = "california"

if ($state1 -ieq $state2) {
    Write-Output "The states are the same."
} else {
    Write-Output "The states are different."

在这种情况下,输出将为“状态相同”。因为 -ieq 执行不区分大小写的比较。

以下是“PowerShell 比较字符串不区分大小写”的 5 种不同方法和示例。

1. 使用 -eq 运算符

默认情况下,PowerShell 中的 -eq 运算符执行不区分大小写的比较。这使得比较两个字符串变得很容易,而不必担心它们的字母大小写。

这是一个完整的脚本。

$city1 = "New York"
$city2 = "new york"

if ($city1 -eq $city2) {
    Write-Output "The cities are the same."
} else {
    Write-Output "The cities are different."
}

在此示例中,输出将是“城市是相同的”。因为 -eq 运算符默认忽略大小写。

我执行了上面的脚本;您可以看到它给出了下面的确切输出。

[玩转系统] PowerShell 中不区分大小写的字符串比较

阅读在 PowerShell 中的字符串中添加双引号

2. 使用 -ieq 运算符

-ieq 运算符显式指定不区分大小写的比较。它的行为与 -eq 运算符相同,但在脚本中明确表示比较不区分大小写。

这是一个例子。

$state1 = "California"
$state2 = "california"

if ($state1 -ieq $state2) {
    Write-Output "The states are the same."
} else {
    Write-Output "The states are different."
}

输出将是“状态是相同的”。由于比较不区分大小写。

当我使用 VS code 执行 PowerShell 脚本后,您可以看到下面的屏幕截图。

[玩转系统] PowerShell 中不区分大小写的字符串比较

3. 使用 -match 运算符

PowerShell 中的 -match 运算符用于正则表达式比较,默认情况下不区分大小写。当您需要执行模式匹配时,这会很有用。

这是一个例子。

$address = "123 Main St, San Francisco, CA"
$pattern = "san francisco"

if ($address -match $pattern) {
    Write-Output "The address contains San Francisco."
} else {
    Write-Output "The address does not contain San Francisco."
}

在此示例中,输出将为“地址包含旧金山”。因为-match会忽略大小写。

阅读如何在 PowerShell 中修剪字符串?

4. 使用 -contains 运算符

PowerShell -contains 运算符检查集合是否包含特定值,并且默认情况下不区分大小写。

这是一个例子。

$cities = @("Los Angeles", "Chicago", "Houston")
$searchCity = "chicago"

if ($cities -contains $searchCity) {
    Write-Output "The city is in the list."
} else {
    Write-Output "The city is not in the list."
}

在这里,输出将是“城市在列表中”。因为 -contains 执行不区分大小写的检查。

5. 使用 .ToLower() 方法

这是在 PowerShell 中比较不区分大小写的字符串的另一种有用方法。

您可以将两个字符串转换为小写(或大写),然后比较它们。此方法可确保比较在 PowerShell 中不区分大小写。

下面是如何使用 .ToLower() 方法将两个字符串转换为小写然后进行比较的示例。

$president1 = "Barack Obama"
$president2 = "barack obama"

if ($president1.ToLower() -eq $president2.ToLower()) {
    Write-Output "The presidents are the same."
} else {
    Write-Output "The presidents are different."
}

在这种情况下,输出将是“总统是一样的”。因为两个字符串在比较之前都被转换为小写。

看下面的截图。我执行了上面的脚本,它显示了所需的确切输出。

[玩转系统] PowerShell 中不区分大小写的字符串比较

结论

PowerShell 提供了多种执行不区分大小写的字符串比较的方法。像您一样,使用 -eq-ieq-match 等 PowerShell 运算符或 .ToLower() 等方法>,这确保您的字符串比较准确且不区分大小写。

我希望这会有所帮助;如果您还有任何疑问,请在下面评论。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯