2017-04-26 144 views
0

`如何使用PowerShell替換包含HTML中特殊字符的字符串?

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,用另一個字符串替換一個字符串。

示例:$數據-replace 「僱員(ID」, 「僱員」

這導致以下消息:

正則表達式模式 「僱員(ID」, 「僱員」 無效。

+1

你需要逃避你的文字輸入模式'$數據-replace [正則表達式] ::逃亡( '員工(ID'),」 emplyeeid ' –

+0

這是我現在使用的線路: – Steve

回答

1

使用反斜線在正則表達式特殊字符進行轉義。

$data -replace 'employee\(id', 'employeeid' 
相關問題