2016-12-14 120 views
2

我有以下的文本文件如何從文本文件中提取子字符串?

testA=foo 
testB=foobar 
testC=Whatever 

現在我想提取值testB這是foobar。以我目前的PowerShell命令,我只能收到整條生產線:

testB=foobar 

我的命令是:

Select-String -Path .\test.txt -Pattern "testB=" -List 

我看到有替換功能的字符串,這樣你就可以用空代替testB=字符串,但我不知道如何實現這一點。

回答

5

沒有更換任何捕捉值。相反,將捕獲組添加到您的搜索模式。然後,你可以訪問捕獲值:

(Select-String -Path $scripts.tmp -Pattern "testB=(.*)").Matches.Groups[1].Value 
+0

嗯,好吧我怎麼能額外修剪值。 ? –

+0

只需在'.Matches.Groups [1] .Value'後面添加'.Trim()'' –

+0

應該是.Matches [0] .Groups改爲.Matches.Groups –

1
(Get-Content | where {$_ -like "testB*"}).Replace('testB=','') 
+0

OPS,對不起,錯字;( – 4c74356b41

0

您可以使用子字符串,例如:

$line = 'testB=foobar' 
$res = $line.Substring($line.IndexOf('=')+1)