我想知道一个字符串是否包含以下之一abc
, def
, xyz
等等。我可以这样做:
$a.Contains("abc") -or $a.Contains("def") -or $a.Contains("xyz")
好吧,它可以工作,但是如果这个子字符串列表发生变化,我必须更改代码,并且性能很差,因为$a
被扫描多次。
有没有一种更有效的方法只需调用一个函数即可做到这一点?
您可以使用 -match 方法并使用 string.join 自动创建正则表达式:
$referenz = @('abc', 'def', 'xyz')
$referenzRegex = [string]::Join('|', $referenz) # create the regex
Usage:
"any string containing abc" -match $referenzRegex # true
"any non matching string" -match $referenzRegex #false
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)