我正在运行PS cmdletget-customcmdlet
,它正在生成以下输出
Name FreeSpaceGB
---- -----------
ABC-vol001 1,474.201
我有另一个变量$var=vol
现在,我想去掉001
,并想检查它是否是整数。
我正在使用但得到空值
$vdetails = get-customcmdlet | split($var)[1]
$vnum = $vdetails -replace '.*?(d+)$','$1'
我的结果应该是整数001
假设:get-customcmdlet
返回一个pscustomobject
对象,其属性Name
类型为string
。
$var = 'vol'
$null -ne ((get-customcmdlet).Name -split $var)[1] -as [int]
此表达式将根据强制转换是否成功返回$true
或$false
。
如果你的目标是填充零,你需要事后做(在这种情况下,我只是捕获了原始字符串(:
$var = 'vol'
$out = ((get-customcmdlet).Name -split $var)[1]
if ($null -ne $out -as [int])
{
$out
}
else
{
throw 'Failed to find appended numbers!'
}