我有一個像下面這樣的字符串,我需要使用PowerShell解析出它。我只是想保持串起來的「EntityPath」,並採取了一切實體路徑後:解析連接字符串的屬性
Endpoint=sb://abcdefg.servicebus.windows.net/;SharedAccessKeyName=listenkey_1137;SharedAccessKey=W2c26OiBwae9f/vgPcJWgtD709oTTJu1VlB8i4OkqUc=;EntityPath=listen_1137
我有一個像下面這樣的字符串,我需要使用PowerShell解析出它。我只是想保持串起來的「EntityPath」,並採取了一切實體路徑後:解析連接字符串的屬性
Endpoint=sb://abcdefg.servicebus.windows.net/;SharedAccessKeyName=listenkey_1137;SharedAccessKey=W2c26OiBwae9f/vgPcJWgtD709oTTJu1VlB8i4OkqUc=;EntityPath=listen_1137
$testStr = "Endpoint=sb://abcdefg.servicebus.windows.net/;SharedAccessKeyName=listenkey_1137;SharedAccessKey=W2c26OiBwae9f/vgPcJWgtD709oTTJu1VlB8i4OkqUc=;EntityPath=listen_1137"
$parts = $testStr -split "EntityPath"
Write-Host $parts[0]
這可能會實現
我不能確定你的要求,但現在這是我想的第二個問題。我會試着理解你的問題,因爲它有點破英文。
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)"
這裏使用正則表達式的溶液。
$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
試試這個:
$mystring="Endpoint=sb://abcdefg.servicebus.windows.net/;SharedAccessKeyName=listenkey_1137;SharedAccessKey=W2c26OiBwae9f/vgPcJWgtD709oTTJu1VlB8i4OkqUc=;EntityPath=listen_1137"
$NameValue=$mystring -replace ";", "`n" | ConvertFrom-StringData
$NameValue.EntityPath
的[Powershell的去除特殊字符的第一個實例後的文本](可能的複製http://stackoverflow.com/questions/24044226/powershell-remove-text-after負一實例中,特殊字符) –