我有一个 $array1,它是 docker 容器和图像名称。$array2 是来自 Azure Devops 的活动拉取请求列表。我尝试了以下代码的多种变体。
如果 $array2 中没有项目,我似乎无法找出从 $array1 获取项目的正确方法。必须始终删除 Master 和 Develop。
我需要从 $array1 中删除 $array2 中的所有项目
$array1 = docker ps -a --no-trunc -f name=myWEAPS* | ForEach-Object { "$(($_ -split '\s+',25)[1,-1])" }
$array1 = $dockerCons[1..($dockerCons.Length - 1)]
$array1 = 'myserver:1517 myserver7998', 'myserver:1515 myserver7990', 'myserver:1514 myserver7999', 'myserver:Master', 'myserverS8003', 'myserver:Develop myserver8002'
$array2 = '1517' , '1518'
$reg = [regex] '[7][0-9][0-9][0-9]'
foreach ($dockerCon in $array1) {
#Write-Host $dockerCon -ForegroundColor Gray
if ($array2 -notcontains $dockerCon -and $dockerCon -match $reg) {
Write-Host "`t"$dockerCon -ForegroundColor Red
}
}
不是尝试
-notcontains
使用-notmatch
正则表达式或模式,-notcontains
而是专门检查某个项目是否在数组中不存在但必须完全匹配。这将输出以下项目
$array1
: