2017-04-13 6 views
-1

Ich habe eine Zeichenfolge wie die folgende, und ich muss es mit PowerShell analysieren. Ich möchte nur die Zeichenfolge halten bis zum „EntityPath“ und alles nach der Entität Weg nehmen:Parsen Sie eine Eigenschaft einer Verbindungszeichenfolge

Endpoint=sb://abcdefg.servicebus.windows.net/;SharedAccessKeyName=listenkey_1137;SharedAccessKey=W2c26OiBwae9f/vgPcJWgtD709oTTJu1VlB8i4OkqUc=;EntityPath=listen_1137 
+0

Mögliche Duplikat [Powershell Text nach der ersten Instanz von Sonderzeichen entfernen] (http://stackoverflow.com/questions/24044226/powershell-remove-text-after -erste-Instanz-von-Sonderzeichen) –

Antwort

0
$testStr = "Endpoint=sb://abcdefg.servicebus.windows.net/;SharedAccessKeyName=listenkey_1137;SharedAccessKey=W2c26OiBwae9f/vgPcJWgtD709oTTJu1VlB8i4OkqUc=;EntityPath=listen_1137" 

$parts = $testStr -split "EntityPath" 

Write-Host $parts[0] 

Dies könnte

0

arbeitet Ich bin nicht sicher, was Sie fordern jetzt aber Es ist eine zweite Frage, nehme ich an. Ich werde versuchen, Ihre Frage zu verstehen, da es ein gebrochenes Englisch ist.

function Invoke-MyWork($testStr) 
{ 
    $parts = $testStr -split "EntityPath" 
    $parts[0] 
} 
$originalValue = "Endpoint=sb://abcdefg.servicebus.windows.net/;SharedAccessKeyName=listenkey_1137;SharedAccessKey=W2c26OiBwae9f/vgPcJWgtD709oTTJu1VlB8i4OkqUc=;EntityPath=listen_1137" 

$upToEntityPath = Invoke-MyWork $originalValue 


Write-Host "UpToEntityPath: $($upToEntityPath)" 
Write-Host "OriginalValue: $($originalValue)" 
0

Hier ist eine Lösung mit regex.

$ep = "Endpoint=sb://abcdefg.servicebus.windows.net/;SharedAccessKeyName=listenkey_1137;SharedAccessKey=W2c26OiBwae9f/vgPcJWgtD709oTTJu1VlB8i4OkqUc=;EntityPath=listen_1137" 
[regex]::Match($ep, 'EntityPath=([^;|\s]+)').Groups[1].Value # output: listen_1137 
[regex]::Match($ep, '(EntityPath=[^;|\s]+)').Groups[1].Value # output: EntityPath=listen_1137 
0

versuchen Sie dies:

$mystring="Endpoint=sb://abcdefg.servicebus.windows.net/;SharedAccessKeyName=listenkey_1137;SharedAccessKey=W2c26OiBwae9f/vgPcJWgtD709oTTJu1VlB8i4OkqUc=;EntityPath=listen_1137" 
$NameValue=$mystring -replace ";", "`n" | ConvertFrom-StringData 
$NameValue.EntityPath 
Verwandte Themen