返回的值不以&结尾的地方?

时间:2019-07-23 14:20:36

标签: powershell

是否可以添加一个where子句,使返回值不以&结尾?

$Test = Get-Content $List | Where ??? Does not end with a &

3 个答案:

答案 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