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]  

这对我有用,但显然不是一个绝对正确的答案。那么,任何人都可以提出任何正确的答案吗?非常感谢!

4

2 回答 2

1

其他方式:

$a -split ' ' | select -Last 1

要不就

 ($a -split ' ')[-1]
于 2013-03-13T07:51:10.590 回答
1

这是另一个不涉及 regex-fu 的选项。拆分字符串(忽略空元素)并获取最后一个元素:

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

3.4

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

if($a -match '\d+\.\d+$') {$matches[0]}
于 2013-03-13T07:53:11.503 回答