2016-12-14 19 views
2

私は、次のテキストファイルテキストファイルから部分文字列を抽出する方法は?

testA=foo 
testB=foobar 
testC=Whatever 

を持っている今、私はfoobarあるtestBの値を抽出したいです。

testB=foobar 

私のコマンドは次のとおりです:私の現在のPowerShellコマンドで、私は、全体のラインを受け取ることができ

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

あなたは空でtestB=を置き換えることができるように私は、文字列のための機能を置き換えるがあることを見ることができました私はこれを達成する方法を知らない。

答えて

5

あなたは値をキャプチャするために何を交換する必要はありません。代わりに、キャプチャグループを検索パターンに追加します。そして、あなたが撮影した値にアクセスすることができます:あなたは、サブストリングを使用することができます

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

ああ、[OK]をどのように私は、さらに値をトリミングすることができます。 ? –

+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) 
関連する問題