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

[玩转系统] 如何使用 PowerShell“包含”- 快速指南!

作者:精品下载站 日期:2024-12-15 00:02:24 浏览:16 分类:玩电脑

如何使用 PowerShell“包含”- 快速指南!


PowerShell 中的 Contains 方法可用于检查字符串中是否存在指定的字符串或字符,并且 PowerShell 运算符 Contains 允许您检查对象集合、例如数组,包含特定值。它返回一个布尔值,如果找到字符串或字符,则返回 $true;如果未找到,则返回 $false。在这份综合指南中,我将介绍您需要了解的有关 PowerShell 的所有内容,包括如何将其与数组、if 语句、where 对象、不区分大小写的搜索、通配符、正则表达式等一起使用。

如何在字符串中使用PowerShell“包含”函数?

PowerShell contains 函数允许您检查字符串是否包含特定子字符串。这对于查找文件中的特定文本或检查字符串是否包含特定单词或短语非常有用。运行以下命令以使用PowerShell“包含”功能:


"Hello world".Contains("world")

在此示例中,我们检查字符串“Hello world”是否包含子字符串“world”,并且返回“True”。

PowerShell 包含 If 语句

Contains 运算符可在条件语句(例如 if 语句)中使用,以检查集合是否包含特定值并根据结果采取操作。以下是在 if 语句中使用 Contains 运算符的示例:


$string = "Hello, World!"
if ($string.Contains("World")) {
    Write-Output "The string contains the word 'World'"
} else {
    Write-Output "The string does not contain the word 'World'"
}

在此示例中,Contains 方法将返回 $true,因为字符串“Hello, World!”包含“世界”二字。

如何使用 Contains 方法进行不区分大小写的搜索?

contains 方法默认区分大小写!因此,“Hello world”.Contains(“WORLD”) 返回 False,具体情况不同。要执行不区分大小写的检查,您可以使用 ToLower() 或 ToUpper() 方法将字符串和子字符串转换并确保大小写相同。例如


"Hello World".ToUpper().Contains("WORLD")

[玩转系统] 如何使用 PowerShell“包含”- 快速指南!

对数组使用 Contains 运算符

您还可以使用 -Contains 运算符来检查对象是否包含在数组或集合中。例如:


#Array
$array = "apple", "banana", "mango"

#Check if array contains a string
if ($array -Contains "banana") {
    Write-Output "The array contains the string 'banana'"
} 
else {
    Write-Output "The array does not contain the string 'banana'"
}

在此示例中,-Contains 运算符将返回 $true,因为字符串“banana”包含在数组中。

[玩转系统] 如何使用 PowerShell“包含”- 快速指南!

此外,Contains 运算符不使用严格相等比较,这意味着它不会检查该值是否与集合中的值完全相等。例如,


$Array = 1, 2, 3.0, 4, 5
$result = $Array -Contains 3

Write-Output $result

将返回 True 作为包含值 3.0 的 $arrary,因为这些值相等。

PowerShell 包含与不包含

notcontains 运算符与 contains 运算符相反。如果找到子字符串,则返回 $false,而不是返回 $true。 notcontains 运算符的语法如下:


$string1 -notcontains $string2

例如,假设我们有两个相同的字符串:


$string1 = "The quick brown fox"
$string2 = "lazy"
$string1 -notcontains $string2

PowerShell 将返回 $true,因为子字符串“lazy”不包含在字符串“The Quick Brown Fox”中。

-notcontains 可用于否定 Contains 运算符的结果。例如:


#array
$Array = 1, 2, 3, 4, 5

#Checks if an array not contains a value
$Result = $Array -NotContains 5

Write-Output $Result

这将返回 False,因为数组包含给定值: 5. 如果要执行区分大小写的搜索,请使用 -CContains 运算符。例如。


#Array
$array = "apple", "banana", "mango"

#Check if array contains a string
$Array -CContains "Banana"

这将返回 False,因为“banana”和“Banana”的情况不同。

Tail:PowerShell 中的“IN”运算符与 Contains

-in 运算符检查数组中是否存在该值(而 Contains 运算符检查数组是否包含给定值):


#array
$Array = 1, 2, 3, 4, 5

#Checks if a value exists in the Array 
$Result = 4 -in $Array

Write-Output $Result

我希望这有助于您基本了解如何在 PowerShell 中使用 Contains 方法和运算符。

PowerShell 包含Where-Object

您还可以将 contains 方法与 where-object 结合使用,根据对象是否包含特定子字符串来过滤对象。例如,假设我们有以下字符串数组:


$array = @("The quick brown fox", "Jumped over the lazy dog", "Hello world")

如果我们想过滤此数组以仅包含包含子字符串“quick”的字符串,我们可以使用 where-object,如下所示:


$array | Where-Object { $_.Contains("quick") }

PowerShell 将返回一个仅包含字符串“The Quick Brown Fox”的数组。

结论

总之,contains 运算符或方法是 PowerShell 中的一个有用工具,用于检查对象集合(例如数组或字符串)是否包含特定值。您可以在各种情况下使用其简单的语法来自动执行任务并提高工作效率。在本文中,我们讨论了 PowerShell contains 函数来检查字符串是否包含特定子字符串。我们还通过一些例子学习了如何使用这个功能。

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

取消回复欢迎 发表评论:

关灯