powershell-filter, wo Objekt und zurück genau passend
Habe ich $Variablen und $Array1
$Array1 enthält:
Vorname Nachname PLZ Rennen Alice Jones {90011, 90017, 90006} American Indian, Asian, Hispanic Allen Rogers {90025, 90001} African American, American John Smith {90001} American Bob Wilson {90025, 90001, 90055, 90084} African American, American,... Barbara-Halle {90025} Weiß
Möchte ich in einer Schleife durch $Array1 und prüfen, ob $Variable ist in PLZ.
Wenn es passt, dann tun Sie etwas stopft.
Was ich habe, ist
foreach ($variable in $Variables) {
$result=$Array1 | Where {$_.ZipCode -match "$variable$"}
}
Für einige Grund es gibt
Allen Rogers {90025, 90001} African American, American John Smith {90001} American Bob Wilson {90025, 90001, 90055, 90084} African American, American,...
Möchte ich die genaue übereinstimmung.
Ausgabe sollte sein:
John Smith {90001} American
Habe ich versucht regex wie
$_.ZipCode -match "^$variable$"
aber es hat nicht funktioniert.
- Möglich, Duplikat der Wie vergleichen die Inhalte von zwei string-Objekte in der PowerShell
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sie brauchen, um mit der
-ceq
für eine genaue übereinstimmen. Dieses ist auch einer der groß-und Kleinschreibung.-match
/-cmatch
regex verwendet, um Muster zu vergleichenEinen besseren Vergleich-operator zu verwenden, jedoch wäre
-contains
.Stellen Sie sicher, dass beide Vergleiche match geben. Wenn Ihr array verwendet
[Int]
, stellen Sie sicher, dass Sie im Vergleich zu einer[Int]
Objekt. Dies kann weiter vereinfacht werden, in PSv3+:Bearbeiten für OP: