PowerShell:检查字符串是否包含数组中的任何子字符串
您可以在 PowerShell 中使用以下语法来检查字符串是否包含数组中的任何子字符串:
($list_of_substrings | % {$string.contains($_)}) -contains $true
此特定示例检查名为 $string 的字符串变量是否包含名为 $list_of_substrings 的数组中的任何子字符串。
该语法的工作原理如下:
首先,我们通过管道( | )将 $list_of_substrings 数组放入 foreach 循环( % )中,并检查每个数组中的子字符串存在于 $string 变量中。
这将返回一个 True 和 False 值列表,以指示每个子字符串是否存在于数组中。
最后,我们使用 -contains $true 来检查是否有任何值返回 True,这表明数组中至少存在一个子字符串。
以下示例展示了如何在实践中使用此语法。
示例:在 PowerShell 中检查字符串是否包含数组中的任何子字符串
假设我们有一个名为 $list_of_substrings 的数组,其中包含各个篮球队的名称。
假设我们还有一个名为 $string 的字符串变量,其中包含有关我们最喜欢的篮球队的信息的字符串。
我们可以使用以下语法来检查 $string 是否包含 $list_of_substrings 中的任何子字符串:
$string = 'My favorite team is the Nets'
$list_of_substrings = @('Mavs', 'Nets', 'Kings')
($list_of_substrings | % {$string.contains($_)}) -contains $true
以下屏幕截图显示了如何在实践中使用此语法:
该语句返回 True,因为该字符串确实包含子字符串数组中的至少一个子字符串 (‘Nets’)。
注意:您可以在此处找到 PowerShell 中 contains 运算符的完整文档。
