c# - 从字符串中删除无法识别的 ASCII 字符

我正在使用 HTML Agility Pack 解析 html,有时我会得到看起来很奇怪的字符串,例如:“–”。删除它们的最简单方法是什么?顺便说一下,我正在使用 C#。

最佳答案

您可能首先需要调查为什么会得到这些字符,这很可能是编码出了问题

但是如果您确实需要从字符串中删除所有非 ascii 字符,正则表达式 [^ -~] 就可以了

        var stripped = Regex.Replace("străipped of baâ€d charâ€cters", "[^ -~]", "");
        Console.WriteLine(stripped); //outputs "stripped of bad characters"

参见 http://www.catonmat.net/blog/my-favorite-regex/用于解释为什么该正则表达式有效

https://stackoverflow.com/questions/13509007/

相关文章:

sql - 如何使用带有文本 "|"的 sql 脚本创建文本文件

security - 20字节数据CRC16冲突的可能性有多大?

vb.net - VB字典包含值返回键

entity-framework - 找不到字段的映射

perl - 调用 ref 没有返回任何东西

apache - 从 XAMPP 运行 apache 服务时出错

c# - 正则表达式检查字符串的第二个字母

ruby-on-rails - 是否可以在 Rails 中更改 URL 中的 Controller

asp.net - 如何在 vb.net 中做正则表达式

git - 无法将提交推送到 fork 的 repo