0
我用下面的代碼艱難的變量替換字符串,這就是我得到:使用PowerShell的
"FirstName":"$value","LastName":"$value"......
但是,這是我想達到的目標:
"FirstName":"${strClientName}","LastName":"${strSurName}" .....
那麼如何我可以強制powershell從HashTable返回所需的值而不是顯示:$value
問題是中的hashtabl的值即如果我從哈希表中刪除它,它會正確顯示,但$需要顯示在輸出中。
代碼:
$str = '"FirstName":"f_name","LastName":"l_name","AskCatalog":false,"Nuteres":12","ZipCode":"1234","City":"LA BOUVERIE","Street":"Rue Pasteur","StreetNr":"34","Phone":"12345678","Email":"[email protected]"'
$list = @{FirstName="${strName}";
LastName="${strSurName}";
ZipCode="${strZipCode}";
City="${strCity}";
Street="${strStreet}";
StreetNr="${strNumber}"}
foreach($item in $list.GetEnumerator())
{
$key = $item.Key
$value = $item.Value
$pattern = '("'+$key+'":)".*?"'
$changed = "`$1`"`$value`""
$result = $str = $str -replace $pattern, $changed
}
Write-Host $result
我曾試圖刪除(' )之前的字符,但它返回空字符串。所以現在確實如此。你怎麼得到這個結果?你在代碼中改變了什麼? – 2014-11-25 13:50:11
基本上這一行:'$ changed =「'$ 1'」$ value'「」' – 2014-11-25 13:51:56
哦,還有$ list,注意它有單引號而不是雙引號。無論如何,嘗試完整的代碼。你應該看到和我一樣的結果。 – 2014-11-25 13:53:32