2013-03-13 33 views
1

我想在这里分析一个文本文件。任何简单的方法来获得最后一个数字“总计:955198 147.9M 6 16477 162 962959 1.0 3.4”

$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] 

这可以为我工作,但显然不是一个绝对正确的答案。所以,任何人都可以提出任何正确的答案非常感谢!

回答

1

这里不涉及正则表达式孚的另一种选择。拆分字符串(忽略空元素),并获得了最后一个元素:

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

3.4 

或使用匹配操作符(正则表达式):

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

另一种方式:

$a -split ' ' | select -Last 1 

或只是

($a -split ' ')[-1] 
相关问题