Powershell - 分裂弦乐&将所有文本输出到右侧

时间:2012-11-23 10:14:29

标签: powershell

我有几个带有大量不需要信息的文本文件。我基本上想要读取文件的每一行,并将每行上某个短语后的所有内容输出到文本文件,例如:

有些垃圾不需要等等。垃圾邮件有些信息

所以基本上我想通过每一行并在每行上的SPLITPHRASE之后提取所有内容。 N.B文本文件仅包含空格作为分隔符

到目前为止,我已经尝试过.substring,.linesplit,转换为CSV等等。我觉得这可能是一个非常简单的解决方案,但出于某种原因,我似乎只是碰到了一堵砖墙!任何帮助非常感谢

编辑:SPLITPHRASE之前和之后的字符串长度也不固定

1 个答案:

答案 0 :(得分: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