2012-10-27 110 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>