簡體   English   中英

從 powershell 中的數組中刪除數組

[英]Remove array from array in powershell

我有 2 個 arrays 像這樣:

$array1 = @('Item10', 'Item20', 'Item30', 'Item40')

$array2 = @('Item1', 'Item3')

我希望我的最終數組是這樣的:

$arrayfinal = @('Item30', 'Item40')

含義:從array1中的array2中找到'like'Item1,所以刪除它!

我試過:使用“-like”運算符,“-ne”運算符,嘗試添加“*”並使用“like”運算符,但找不到我想要的。

謝謝你的幫助

您需要針對$array2中的每個可能前綴測試$array1中的每個值,直到獲得匹配(或不匹配) - 換句話說,嵌套過濾器

我的首選方法是將.Where({...}, 'First')嵌套Where-Object

$arrayfinal = $array1 |Where-Object {$item = $_; $array2.Where({$item -like "${_}*"}, 'First')}

'First'模式將使.Where()在第一個項目滿足條件后立即返回,從而在每次迭代中不必要地遍歷所有$array2

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM