Powershell 删除HTML中的区域
我想在HTML中删除一个自我强加的区域。我已经计算出了正确的正则表达式,我已经在中证明了这一点,并且突出显示了正确的部分 我在多行模式下运行了此设置,并已将此设置预先设置为PowerShell正则表达式字符串Powershell 删除HTML中的区域,powershell,powershell-core,Powershell,Powershell Core,我想在HTML中删除一个自我强加的区域。我已经计算出了正确的正则表达式,我已经在中证明了这一点,并且突出显示了正确的部分 我在多行模式下运行了此设置,并已将此设置预先设置为PowerShell正则表达式字符串 Get-ChildItem (Get-Item -Path ".\" -Verbose).FullName -Recurse -Filter *.html | Foreach-Object { Write-Host "Checking "$_.FullName $cont
Get-ChildItem (Get-Item -Path ".\" -Verbose).FullName -Recurse -Filter *.html |
Foreach-Object {
Write-Host "Checking "$_.FullName
$content = Get-Content $_.FullName
$content = $content -replace "(?m)(^.*\#region REMOVE.*)[.|\n|\W|\w]*(^.*\#endregion REMOVE.*)",""
Set-Content $content -Path $_.FullName
}
遗憾的是,该区域未被删除,尽管文件已被触摸。来自:
Get-Content cmdlet获取位于该位置的项的内容
由路径指定,例如文件中的文本。上面写着
内容一次一行,并返回对象的集合,每个
其中的表示一行内容
所以您的正则表达式是在数组上执行的,而不是在文件内容的字符串上执行的。更改为:
$content = [System.IO.File]::ReadAllText($_.FullName);
而且它会起作用。效果很好!谢谢你。