-2
我用下面的步驟從文件檢索線的第二部分的第一部分相匹配時恰好
$variable = '[email protected]'
$test = $variable.split('@')[0];
$file = Get-Content C:\Temp\file1.txt | Where-Object { $_.Contains($test) }
$postPipePortion = $file | Foreach-Object {$_.Substring($_.IndexOf("|") + 1)}
這導致包含$test
作爲一個子字符串的所有行檢索的字符串。我只想讓結果僅包含與$test
完全匹配的行。
例如,如果一個文件包含
abc_def|hf#23$
abc|ohgvtre
我只想文字ohgvtre
我不關注你。爲什麼麻煩分裂字符串呢?爲什麼不直接搜索'abc @ yahoo.com'? –
@briantist不重複。 [那個問題](http://stackoverflow.com/questions/18877580/powershell-and-the-contains-operator)是關於運算符,它不適用於字符串中的字符。這一個正確使用.NET的'String.Contains'方法來比較子字符串。問題是,OP想要一個精確的匹配,而不是一個子字符串匹配,所以兩種形式的「包含」都是錯誤的。 –
@RyanBemrose你是對的;我收回了我的近距離投票。 – briantist