在PowerShell中编写正则表达式来替换文件中以下以下多次出现的麻烦。它们是这些行上的唯一字符
]
[
我想用逗号替换两个括号
之前:
]
[
之后:
,
有什么建议吗?
答案 0 :(得分:0)
我想您使用的是MS Windows,其中(和MS-DOS)新行用后续的回车符(\r
)和换行符(\n
)个字符,由于空行,您必须匹配两次。
由于括号是正则表达式中的特殊字符,因此您必须使用\
对其进行转义,并且还必须包含m
修饰符以进行多行匹配:
$s -replace "(?m)\[\r\n\r\n\]", ","
答案 1 :(得分:0)
要使用RegEx,请将文件中的输入视为单个字符串,您需要将Get-Content
与-raw parameter(PSv3 +)配合使用
-或-
使用-join将字符串数组连接为单个字符串。
使用存储在文件sample.txt中的整个问题文本:
> (Get-Content .\sample.txt -raw) -replace '\][\r\n]+\[',','
Having troubles in PowerShell writing the regex to replace the following multiple occurrences of the below inside a file. They are the only characters on those lines
,
I want to replace both brackets with a comma
before:
,
after:
,
Any suggestions?