次の形式のデータを含む txt ファイルをダウンロードしました。
"data1":111、"data2":22、"data3":3、"data4":4444444 など。
次のようなデータを抽出する必要があります。
$data1 = 111
$data2 = 22
$data3 = 3
...and so on.
どうやってやるの?
次の形式のデータを含む txt ファイルをダウンロードしました。
"data1":111、"data2":22、"data3":3、"data4":4444444 など。
次のようなデータを抽出する必要があります。
$data1 = 111
$data2 = 22
$data3 = 3
...and so on.
どうやってやるの?
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()
}