解析自定义参数 “ - ” delimitted
问题描述:
我有一个字符串解析自定义参数 “ - ” delimitted
-car: “日产” - 模型: “迪娜” - 颜色: “淡蓝色” -wheels: “4”
我如何提取参数?最初的想法是使用' - '作为分隔符,但是这不起作用。
答
使用正则表达式可能是最简单的任务解决方案。这可以在PowerShell中进行:
$text = @'
-car:"Nissan" -Model:"Dina" -Color:"Light-blue" -wheels:"4" -windowSize.Front:"24"
'@
# assume parameter values do not contain ", otherwise this pattern should be changed
$pattern = '-([\.\w]+):"([^"]+)"'
foreach($match in [System.Text.RegularExpressions.Regex]::Matches($text, $pattern)) {
$param = $match.Groups[1].Value
$value = $match.Groups[2].Value
"$param is $value"
}
输出:
car is Nissan
Model is Dina
Color is Light-blue
wheels is 4
windowSize.Front is 24
+0
谢谢你的工作。如果参数如下所示:-car:“Nissan”-Model:“Dina”-Color:“Light-blue”-wheels:“4”-windowSize.Front:“24” - windowSize.Back:“26” 如何改变正则表达式来迎合这些 – Henno 2010-12-09 00:28:28
它是如何与PowerShell的? – stej 2010-12-08 06:00:01