2012-11-23 23 views
1

我有幾個文本文件,其中有很多不需要的信息。我基本上想要讀取文件的每一行並在每行之後輸出某個短語後的所有內容到一個文本文件,例如:Powershell - 拆分字符串&輸出所有文本到右邊

一些垃圾不需要等等等等SPLITPHRASE一些有用的信息

所以基本上我想通過每一行,並提取每行SPLITPHRASE後的一切。 N.B文本文件只包含空格作爲分隔符

到目前爲止,我已經嘗試過.substring,.linesplit,轉換爲CSV和許多其他的東西。我感覺這可能是一個非常簡單的解決方案,但由於某種原因,我似乎剛剛撞上了一堵磚牆!任何幫助非常讚賞

編輯:前後也SPLITPHRASE後的字符串的長度是不固定的

回答

2

這樣嗎?

$a = "Some rubbish not needed blah blah SPLITPHRASE Some useful info","Some rubbish not needed SPLITPHRASE usefull" # can be $a = get-content .\myfile.txt 

$a | select-string -patter '(?<=SPLITPHRASE)(.*)' | 
select -expa matches | select -expa value | % { $_.trim() } 

結果:

Some useful info 
usefull 
+0

這正是我一直在尋找,非常感謝你的幫助 – Stereostar

+0

很樂意幫忙;)! –