`
Get-Content C:\Users\sfair\Documents\Frontline\report.htm | Out-File C:\Users\sfair\Documents\Frontline\report1.txt
$editreport = C:\Users\sfair\Documents\Frontline\report1.txt
$editreport -replace [regex]::Escape('employee(id','employee</th><th>id</th>')
$editreport -replace [regex]::Escape('employeeType(id)','id')
$editreport -replace [regex]::Escape('employee(','employee</td><td>')
$editreport -replace [regex]::Escape(')</td>','</td>')
` 我收到了所有四个替换操作的类似消息:
Cannot find an overload for "Escape" and the argument count: "2".
At C:\Users\sfair\Documents\Frontline\still-trying1.ps1:40 char:1
+ $editreport -replace [regex]::Escape('employee(id','employee</th><th> ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], MethodException
+ FullyQualifiedErrorId : MethodCountCouldNotFindBest
enter image description here 我在PowerShell中生成了一个HTML文件,读入.CSV。我想编辑HTML,用另一个字符串替换一个字符串。
示例:$ data -replace&#34; employee(id&#34;,&#34; employeeid&#34;
这会产生以下消息:
正则表达式模式&#34;员工(id&#34;,&#34; employeeid&#34;无效。
答案 0 :(得分:1)
使用反斜杠转义正则表达式中的特殊字符。
$data -replace 'employee\(id', 'employeeid'