2012-10-27 34 views
1

我是Powershell的新手,我想知道是否有任何方法根據格式解析字符串輸入,就像PHP中的sscanf()函數一樣?根據Powershell的格式分析字符串的輸入?

URL Refered

+1

據我所知,沒有這樣的PowerShell中的事情。但是對於特定的任務,無論如何都可以找到解決方案,否則這樣的事情就會存在。例如,PowerShell中經常使用正則表達式進行簡單而有效的解析。 –

+0

很遺憾聽到這樣的消息,不過謝謝你提供的信息。我將使用正則表達式代替! – Teiv

回答

1

的PHP sscanf可以與輸入與正則表達式匹配來仿真。按照PHP手冊頁例子,讓我們解析作者數據轉換成XML像這樣,

$auth = "24`tLewis Carroll" # ` is the escape char in PSh 
$mc = [regex]::Match($auth, "(\d+)\t(\w+)\s(\w+)") 
write-host $("<author id='{0}'>`n <firstname>{1}</firstname>`n <surname>{2}</surname>`n</author>" -f $mc.Groups[1].Value, $mc.Groups[2].Value, $mc.Groups[3].Value) 

輸出

<author id='24'> 
    <firstname>Lewis</firstname> 
    <surname>Carroll</surname> 
</author>