这是我的文本文件(temp.txt):
(test1 AND id = 42343)AND NOT(test2 AND id = 12234)AND NOT(test3 AND id = 12342)AND NOT(test4 AND id = 13342)
我必须替换所有“)AND NOT(”以便格式化后的文件看起来像这样:
test1 AND id = 42343
test2 AND id = 12234
test3 AND id = 12342
test4 AND id = 13342
我试过这个脚本/命令:
(Get-Content C:\temp.txt) |ForEach-Object{$_ -replace "[) AND NOT (]","`n`r"}|Set-Content C:\temp.txt
但现在文本文件看起来很糟糕:
ES
1
我
= 42343
ES
2
我
= 12234
ES
3
我
= 12342
ES
4
我
= 13342
那么我的命令有什么问题?
答案 0 :(得分:0)
尝试:
$a = "(test1 AND id=42343) AND NOT (test2 AND id=12234) AND NOT (test3 AND id=12342) AND NOT (test4 AND id=13342)"
$a.Replace(") AND NOT (", "`r`n").TrimStart("(").TrimEnd(")") | Out-File E:\2.txt
这里你真的不需要正则表达式,甚至不需要循环