如何使用Powershell中的正则表达式依次替换反斜杠和换行符?

时间:2016-08-26 19:52:06

标签: regex powershell

假设我有一个文本文件,其中的行被故意包裹。每个包裹的行以反斜杠字符'\'结尾,然后换行。例如:

foo.bar=blah,blah,blah,bl\
ah,blah
foo2.bar=blah,blah,blah,b\
lah,blah

我想解开这些行,使其成为:

foo.bar=blah,blah,blah,blah,blah
foo2.bar=blah,blah,blah,blah,blah

目前,当我尝试使用以下命令执行此操作时,我没有匹配,因此没有更改:

( Get-Content .\somefile.txt | Out-String ) -replace '\\\n',''

如果我使用'\'或'\ n',它会替换反斜杠或换行符,但如果一起使用则不会产生匹配。

1 个答案:

答案 0 :(得分:2)

如果它是Windows样式行的结尾,则它是回车符和换行符,因此0xD0XA\r\n。如果你想要处理这两种可能性:

-replace '\\\r?\n',''

基本上,反斜杠\\后跟一个可选的回车\r?,后跟一个换行符\n