我有几个带有大量不需要信息的文本文件。我基本上想要读取文件的每一行,并将每行上某个短语后的所有内容输出到文本文件,例如:
有些垃圾不需要等等。垃圾邮件有些信息
所以基本上我想通过每一行并在每行上的SPLITPHRASE之后提取所有内容。 N.B文本文件仅包含空格作为分隔符
到目前为止,我已经尝试过.substring,.linesplit,转换为CSV等等。我觉得这可能是一个非常简单的解决方案,但出于某种原因,我似乎只是碰到了一堵砖墙!任何帮助非常感谢
编辑:SPLITPHRASE之前和之后的字符串长度也不固定
答案 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