微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Powershell 选择字符串未找到 ÿ

如何解决Powershell 选择字符串未找到 ÿ

我有一个日志文件,里面有一些坏字符。虽然有很多,但我目前特别感兴趣的是ÿ

当我尝试用它做一个简单的选择字符串时,我根本没有得到任何结果:

select-string -path D:\logs\*.log -Pattern 'ÿ'

我尝试添加编码,但也没有返回任何结果。我尝试了以下所有方法

select-string -path D:\logs\*.log -Pattern 'ÿ' -Encoding "Unicode"
select-string -path D:\logs\*.log -Pattern 'ÿ' -Encoding "UTF8"
select-string -path D:\logs\*.log -Pattern 'ÿ' -Encoding "ASCII"

我错过了什么?

解决方法

尝试使用具有负前瞻的正则表达式。我认为这是最简单的方法,因为我们对文件或字符编码了解不多。

-pattern '^(?!.*[a-zA-Z]|\S\s|^$).*$'

这将搜索任何不是:a thru z 小写字母、A thru Z 大写字母、数字或空格(如空格或换行符)。从理论上讲,它应该捕获您的“ÿ”字符以及可能出现的任何其他怪异字符。如果需要,您可以添加更多内容。 |符号表示“AND”,因此您可以添加“|”在模式中的 $ 之后,并在必要时添加更多字符,如 ^(?!.*[a-zA-Z]|\S\s|^$).*$|\=

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。