私はまだPowerShellをかなり新しくしています。PowerShell:テキストの一部が一致する場合、配列を別の[フィルタ]配列でフィルタリングします。
私はコードがで動作していますが、間違ったにおいがします。 PowerShellの観点からこれを書く正しい方法は何ですか?
$filters = @("*a*","*b*")
$data = @("c/a","c/b","c/a/d","e","a","e/f")
$desiredResults = @("e","e/f")
Write-Host "Filters" -ForegroundColor Yellow
$filters
Write-Host "Data" -ForegroundColor Yellow
$data
$results = @()
foreach ($d in $data)
{
[bool] $skip = $false
foreach ($filter in $filters)
{
if ($d -like $filter)
{
$skip = $true
}
}
if ($skip -eq $false)
{
$results += $d
}
}
Write-Host "Desired Results" -ForegroundColor Yellow
$desiredResults
Write-Host "Results" -ForegroundColor Yellow
$results
私はこのソリューションが好きです、gj! – Esperento57
私はこの問題に必要なものを正確に示しました。きれいで読みやすい。 –