PowerShell 文本处理实例(三) 4


原始文本:”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
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!

关于 Mooser Lee

我是一个Powershell的爱好者,创建了PowerShell中文博客,热衷于Powershell技术的搜集和分享。本站部分内容来源于互联网,不足之处敬请谅解,并欢迎您批评指正。

回复 Mooser Lee 取消回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

4 条评论 “PowerShell 文本处理实例(三)

  • Victor.Woo

    $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 } }