powershell中的解析

powershell中的解析,powershell,Powershell,如何使用powershell从以下文本中获取SKU名称 输入:[{“sku\”:\“sku7120234\” 解析出来的应该是:sku7120234 另外,我得到了一个时间戳“timestamp\”:1447964164371}。有人能建议如何以日期格式获取整数值吗。如果您有特定的文件类型或结构,您应该发布此文件以及注释中提到的所需输出 就像你问的那样: $str = '[{\"sku\":\"sku7120234\"' 选项1-拆分字符串: ($str -split '\\')[3] -re

如何使用powershell从以下文本中获取SKU名称

输入:[{“sku\”:\“sku7120234\” 解析出来的应该是:sku7120234


另外,我得到了一个时间戳“timestamp\”:1447964164371}。有人能建议如何以日期格式获取整数值吗。

如果您有特定的文件类型或结构,您应该发布此文件以及注释中提到的所需输出

就像你问的那样:

$str = '[{\"sku\":\"sku7120234\"'
选项1-拆分字符串:

($str -split '\\')[3] -replace '"'
选项2-正则表达式匹配:

[regex]::Match($str,'sku\d+').Groups[0].Value
结果:

sku7120234

要将毫秒时间戳设置为DateTime,可以执行以下操作:

$ts = '\"timeStamp\":1447964164371}'
$epoch = [regex]::Match($ts,'\d+').Groups[0].Value
[datetime] $origin = '1970-01-01 00:00:00.000'
[datetime] $result = $origin.AddMilliseconds($epoch)
结果:

#Datetime type object result
$result
Thursday, November 19, 2015 8:16:04 PM
#or formatted string
$result.ToString()
11/19/2015 8:16:04 PM

因此,您正在尝试解析类似json的字符串,对吗?…如果是这样,您只需要:您好,您能提供一个示例输入文件、所需的输出以及您迄今为止尝试过的代码吗?(您可以在问题上使用编辑按钮。非常感谢。这有助于解决问题,如果它解决了您的问题,请将其标记为答案。$promotions=Import Csv“C:\Users\sabobba\Documents\rexonlinestore.csv”\124; foreach{New Object PSObject-prop{UserId=$\.UserId;$str='[{“sku\”:\“$\\.sku\”;($str-split'\\')[3]-替换''sku=[regex]::匹配($str,'sku\d+').Groups[0]。值;$ts='\'timeStamp\'timeStamp\\':$.timeStamp'$epoch[regex]::$Match:$s+.dated]。组[0]值]$origin='1970-01-01 00:00:00.000'[datetime]$result=$origin.ADDMISCES($epoch)$result}导出Csv-路径“\simpletest.Csv”-非类型信息我有以下格式的数据-用户ID Sku时间戳b9ebd967-9106-1033-ee82-27e40f5b9202[{“Sku\”:“sku7120234\”时间戳\“1447964164371}]b363d76b-9138-0053-2d43-cd3771c7cabc[{\“sku\”:\“sku7520274\”\“timeStamp\”:1457364678459}并希望通过迭代分析sku和timeStamp这两个字段来导出输出。我编写了上面指出的脚本并出现错误。请告知。