如何从$b
中删除$a
中的项目?
$a = "aa","bb","cc","dd","ee"
$b = "bb","dd"
您知道一个好的解决方案吗?
谢谢!
答案 0 :(得分:0)
Compare-Object
命令是执行此操作的最简单方法,尽管它不是很可靠,但如果用于生产,则可能需要考虑更周全的解决方案。
$c = Compare-Object -ReferenceObject $a -DifferenceObject $b | ? SideIndicator -eq '<=' | Select -Expand InputObject
我认为另一种非常相似但可读性更高的方法是:
$c = $a | ? {$_ -notin $b}
另一种方法是使用Group-Object
命令,并选择唯一的条目,但这将包括$b
中的条目,而不是$a
中的条目。
$c = $a+$b | Group-Object | ? Count -eq 1 | Select -Expand Group
所有这些方法将输出:
aa
cc
ee