我想用另一个字符串替换文件中的字符串。但是,要查找的字符串可以是两个值之一。
例:
'酷'改为'有趣'
'uncool'改为'有趣'
如果我只尝试更改一个值,它会工作,但当我尝试更改它的一个或另一个时,它会崩溃。我暂停了一下,但它仍然快速关闭,以便看到红色错误
我尝试改变代码以使用ForEach-Object和多个替换,根据How to replace multiple strings using PowerShell,但它出错了
我的代码:
powershell -Command "(gc index.html) | ForEach-Object {
$_.replace('desktop', 'es').replace('en', 'es') } | Out-File -encoding UTF8 index.html"
实际结果:错误输出:语句块中“缺少关闭'}'。行:1字符:35”
但是肯定有一个右大括号,如上面显示的代码所示。
预期结果:更新index.html文件。它有“桌面”或“en”的任何地方,将值更改为“es”
您可以使用交替的正则表达式并消除foreach:
(gc index.html) -replace 'desktop|en','es' | Out-File -encoding UTF8 index.html