我必须编写一个powershell脚本来从输入文件中读取数据。需要从输入文本文件中提取许多数据,其中一个数据是 时间在州:3d 10:20 从上面的数据我怎么才能只提取3d 10:20并分配给变量?
我尝试了下面提到的命令 -
$a= Time In State : 3d 10:20
$b=("$a" -split ':')[1].substring(1,5)
但我没有得到预期的输出。 请提供正确的语法
由于
答案 0 :(得分:0)
$a = "Time In State : 3d 10:20"
$a -replace '^.+:\s'
关注您的代码(但请避免这样做):
( -join ( $a -split '(:)')[2..4]).trim()
答案 1 :(得分:0)
另一种选择:
'Time In State : 3d 10:20 ' -split '^.+?:'
3d 10:20
答案 2 :(得分:0)
您还可以使用-match和正则表达式将任何匹配项分配给不同的变量,以捕获任何格式相似的内容。如果它与正则表达式匹配,您可以调用$ matches [0] magic变量来获取该子字符串:
$a = 'Time In State : 3d 10:20'
$b = $a -match '[0-9]{1,2}d\s[0-9]{1,2}:[0-9]{1,2}'
if($b)
{
$matches[0]
}
else
{
'No Match'
}
3d 10:20