Powershell 有没有简单的方法可以从“中获取最后一个数字?”;总数:955198 147.9M 6 16477 162 962959 1.0 3.4“;

Powershell 有没有简单的方法可以从“中获取最后一个数字?”;总数:955198 147.9M 6 16477 162 962959 1.0 3.4“;,powershell,Powershell,我正在分析一个文本文件 $a = (Get-Content c:\tabanalys.txt | Select-String "Total" -casesensitive).line 这将返回一个字符串: Totals: 955198 147.9M 6 16477 162 962959 1.0 3.4 现在我需要得到最后一个数字“3.4”,这个数字是可变的。我正在考虑使用以下方法获取它: $a[-5..-1] 这对我来说

我正在分析一个文本文件

$a = (Get-Content c:\tabanalys.txt | Select-String "Total"  -casesensitive).line
这将返回一个字符串:

Totals:               955198  147.9M     6 16477   162     962959    1.0     3.4
现在我需要得到最后一个数字“3.4”,这个数字是可变的。我正在考虑使用以下方法获取它:

$a[-5..-1]  
这对我来说是可行的,但显然不是绝对正确的答案。那么,有人能给出正确的答案吗?非常感谢

另一种方式:

$a -split ' ' | select -Last 1
或者只是

 ($a -split ' ')[-1]

这里还有一个不涉及正则表达式fu的选项。拆分字符串(忽略空元素)并获取最后一个元素:

$a.Split(' ',[System.StringSplitOptions]::RemoveEmptyEntries)[-1]

3.4
或使用匹配运算符(正则表达式模式):

if($a -match '\d+\.\d+$') {$matches[0]}