剥离 PS 中的值并比较它是否为整数值

Stripping value in PS and comparing if it is an integer value

我是 运行 PS cmdlet get-customcmdlet 正在生成以下输出

Name                         FreeSpaceGB
----                         -----------
ABC-vol001                   1,474.201

我还有另一个变量$var=vol 现在,我只想去掉 001 并想检查它是否是整数。

我正在使用但得到的是空值

$vdetails = get-customcmdlet | split($var)[1]
$vnum = $vdetails -replace '.*?(\d+)$',''

我的结果应该是整数001

假设:get-customcmdlet 是 returning 一个 pscustomobject 对象,其 属性 Name 类型为 string

$var = 'vol'
$null -ne ((get-customcmdlet).Name -split $var)[1] -as [int]

此表达式将return $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!'
}