2017-02-15 4 views
0

Ich habe Probleme beim Parsen einer Ausgabe von einem Rest API. es ist eine mehrzeilige ZeichenfolgePowershell: trennen und analysieren mehrzeilige Zeichenfolge

Policy Name: Default_US_MultiSite Id: abc1234abc123 Buckets: support_us1_multisite,ch1ny2 
Policy Name: Default_CH Id: 123456789acdef Buckets: question,answer,ch2,ch1,drive.me.closer 
Policy Name: Default_NY Id: qrstuvwxyz9876 Buckets: demo,bucket1,test1,test,ny0,nyhello,goodbye,new.shoes,pizza,cutecats,theinternetisfor,Halloween,For-the-emperor 

Jetzt mache ich eine Idee haben, wie es durch die Linie zu spalten, ein bisschen und ich versuche, den folgenden Code

$data.Split("`n") 

aber ich kann immer noch nicht Gestalt zu verwenden, wie gehen diese über die nächsten und analysieren

es funktioniert nicht erkennen Policy Name, Eimer, ID als separate Objekte

konvertiere ich sie in oder als json zuweisen oder XML oder etwas mit mehr als nur Convertto-XML oder [XML] Präfixierung von $ Daten?

Dank

Antwort

2

Beispiel:

$data = @" 
Policy Name: Default_US_MultiSite Id: abc1234abc123 Buckets: support_us1_multisite,ch1ny2 
Policy Name: Default_CH Id: 123456789acdef Buckets: question,answer,ch2,ch1,drive.me.closer 
Policy Name: Default_NY Id: qrstuvwxyz9876 Buckets: demo,bucket1,test1,test,ny0,nyhello,goodbye,new.shoes,pizza,cutecats,theinternetisfor,Halloween,For-the-emperor 
"@ 

$data -split "`n" | 
    Select-String 'Policy Name: (\w+) Id: (\w+) Buckets: (.+)' | 
    ForEach-Object { 
    New-Object PSObject -Property ([Ordered] @{ 
    "PolicyName" = $_.Matches[0].Groups[1].Value 
    "Id"   = $_.Matches[0].Groups[2].Value 
    "Buckets" = $_.Matches[0].Groups[3].Value 
    }) 
} 

Select-String Ausgänge MatchInfo Objekte. Aus diesen können Sie die Match-Gruppen extrahieren. New-Object gibt ein neues Objekt basierend auf den Übereinstimmungen aus, die aus jeder Ausgabezeichenfolge extrahiert wurden.

+0

Awesome, DANKE sehr viel .... Ich füge nur ** | Foreach-Objekt {$ _ -split ","} ** Eimer, um es zu einem Array zu machen .... können Sie mich auf die zeigen richtige Richtung, warum und wie das funktioniert? – AdilZ

+1

Kurze Erklärung hinzugefügt. –

Verwandte Themen