2

次の形式のデータを含む txt ファイルをダウンロードしました。

"data1":111、"data2":22、"data3":3、"data4":4444444 など。

次のようなデータを抽出する必要があります。

$data1 = 111
$data2 = 22   
$data3 = 3
...and so on.

どうやってやるの?

4

3 に答える 3

1

spilt を使用してから、'"data2":22' に対して分割を使用して、部分文字列を取得します。

#method 1
$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



#method 2
$rawTxt = '"data1":111,"data2":22,"data3":3,"data4":4444444,"data5":589'
$regex = [regex] '"(?<name>\w*)":(?<value>\d*),?'
$match = $regex.Match($rawTxt)
while ($match.Success) {
    [PSCustomObject]@{
        Name = $match.Groups['name'].Value
        Value = $match.Groups['value'].Value
    }
    $match = $match.NextMatch()
}
于 2013-09-22T09:21:33.913 に答える