剥离 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!'
}
我是 运行 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!'
}