我正在尝试使用powershell修改html文件。但是无法替换'[DISPLAY_NAME]'
。由于'[', ']'
符号。
(Get-Content ".\hi4.htm") -replace '[DISPLAY_NAME]', 'tulpa' | Set-Content '.\hi4.htm'
但是输出如下。请检查并提供帮助。
<httulpatulpa>
<botulpatulpa>
<ttulpabtulpatulpa tulpattulpatulpatulpa="wtulpatulpath: 579tulpax;" bortulpatulpar="5" ctulpatulpatulpatulpatulpatulpactulpatulpag="0" ctulpatulpatulpatulpatulpatulpatulpatulpatulpag="0">
<tbotulpatulpa>
<tr>
<ttulpa tulpattulpatulpatulpa="fotulpat-ftulpatulpatulpatulpatulpa: Htulpatulpavtulpattulpactulpa, tulpartulpatulpatulpa, tulpatulpatulpatulpa-tulpatulpartulpaf; fotulpat-tulpatulpaztulpa: 18tulpax; wtulpatulpath: 577tulpax;" htulpatulpaght="64"><tulpatrotulpag> [tulpatulpatulpatulpatulpatulpatulpatulpatulpatulpatulpatulpa] </tulpatrotulpag>&tulpabtulpatulpa;<tulpatulpag tulpattulpatulpatulpa="fot
-谢谢,Ravikiran M
正如评论所指出的,不需要像这样简单的操作使用-replace
运算符(使用正则表达式引擎)。只需使用常规的String.Replace方法即可。
(Get-Content ".\hi4.htm").Replace('[DISPLAY NAME]','tulpa') | Set-Content '.\hi4.htm'
如果坚持使用正则表达式,则需要这样在字符串中转义特殊字符。
(Get-Content ".\hi4.htm") -replace '\[DISPLAY_NAME\]', 'tulpa' | Set-Content '.\hi4.htm'
您绝对可以替换[DISPLAY_NAME]
,只需要在使用[]
运算符时转义-replace
。要使用上面提供的代码,请注意以下更改:
(Get-Content ".\hi4.htm") -replace '\[DISPLAY_NAME\]', 'tulpa' | Set-Content '.\hi4.htm'