用换行符替换单词
Replace Words with a linebreak
这是我的文本文件 (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
我试过了Script/Command:
(Get-Content C:\temp.txt) |ForEach-Object{$_ -replace "[) AND NOT (]","`n`r"}|Set-Content C:\temp.txt
但现在文本文件看起来很糟糕:
es
1
i
=42343
es
2
i
=12234
es
3
i
=12342
es
4
i
=13342
那么我的命令有什么问题?
尝试:
$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:.txt
这里你真的不需要正则表达式,甚至不需要循环
这是我的文本文件 (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
我试过了Script/Command:
(Get-Content C:\temp.txt) |ForEach-Object{$_ -replace "[) AND NOT (]","`n`r"}|Set-Content C:\temp.txt
但现在文本文件看起来很糟糕:
es
1
i
=42343
es
2
i
=12234
es
3
i
=12342
es
4
i
=13342
那么我的命令有什么问题?
尝试:
$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:.txt
这里你真的不需要正则表达式,甚至不需要循环