原始文本:”data1″:111,”data2″:22,”data3″:3,”data4″:4444444,”data5″:589
要求:转换成对象
$rawTxt='"data1":111,"data2":22,"data3":3,"data4":4444444' $rawTxt -split ',' | ForEach-Object { $temp= $_ -split ':' "{0}={1}" -f $temp[0].Substring(1,$temp[0].Length-2),$temp[1] } | ConvertFrom-StringData
输出:
Name Value ---- ----- data1 111 data2 22 data3 3 data4 4444444
本文链接: https://www.pstips.net/processing-text-3.html
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!
$rawTxt = ‘”data1″:111,”data2″:22,”data3″:3,”data4″:4444444,”data5″:589’
$match = ([regex] ‘”(?\w*)”:(?\d*),?’).Match($rawTxt)
while ($match.Success) {
[PSCustomObject]@{
Name = $match.Groups[‘name’].Value
Value = $match.Groups[‘value’].Value
}
$match = $match.NextMatch()
}
好俊的正则表达式!赞一个!
您好,我想打开一个含有汽车制造商,型号,价格的文件,输入制造商的名字,给出列表,请问下面的代码哪里有误
$Manufacturer=$args[1]
import-csv $args[0] | ForEach-Object
{
carObject=@ {
Manufacturer = $_.split(“;”)[0]
Model = $_.split(“;”)[1]
price = $_.split(“;”)[2]
}
} | Group-Object Manufacturer | Where-Object $_.Manufacturer -eq $Manufacturer |
ForEach-Object
{ $_.Group | ForEach-Object { “{0} {1} {2}” -f $_.Manufacturer,$_.Model,$_.price } }
请至PowerShell问答中心提问:http://www.pstips.net/dwqa-ask-question/
并贴上自己的输入文本内容,和期望输出文本内容。