是否可以添加一个where
子句,使返回值不以&
结尾?
$Test = Get-Content $List | Where ??? Does not end with a &
答案 0 :(得分:6)
有几种检查方法(按性能从高到低排序):
... | Where-Object { -not $_.EndsWith('&') }
... | Where-Object { $_ -notlike '*&' }
... | Where-Object { $_ -notmatch '&$' }
答案 1 :(得分:2)
您可以使用-notmatch,然后使用正则表达式&$
$Test = Get-Content $List | ?{$_ -notmatch "&$" }
答案 2 :(得分:2)
这是一种“正面”解释:
echo 'hi&' | select-string '[^&]$'
echo hi | select-string '[^&]$'
hi
请注意,Select-String
返回一个matchinfo对象。 Where-Object
可能不会那么令人讨厌。甚至findstr
。