PowerShell移除文本文件扩展字符方法及报错解决方案
移除PowerShell文本中的扩展字符,保留指定符号
你遇到的解析错误大概率是正则表达式的语法问题,试试下面的方法快速解决:
首先读取目标文本文件内容:
$content = Get-Content -Path "你的文件路径.txt" -Raw然后执行替换操作,移除所有非ASCII可打印字符(保留
.:、字母、数字、空格等常见符号):$cleanContent = $content -replace '[^\x20-\x7E]', ''这里的
\x20-\x7E对应ASCII码中从空格到波浪号的所有可打印字符,刚好覆盖你想保留的.:等符号,同时过滤掉├®、ÔÇÖ这类扩展字符。如果需要更精准控制保留的字符(比如只留字母、数字、
.、:和空格),可以用更明确的正则:$cleanContent = $content -replace '[^a-zA-Z0-9.: ]', ''最后把清理后的内容保存回文件:
$cleanContent | Set-Content -Path "清理后的文件.txt" -Encoding UTF8
之前用-replace出错,可能是因为你写的正则表达式存在语法错误(比如未正确转义特殊字符、匹配范围定义不当),用上面的反向匹配规则就能避免这类问题。
内容的提问来源于stack exchange,提问作者YorSubs
相关产品推荐
相关产品推荐

