RegEx从C#中的字符串中删除十六进制字符

时间:2011-06-17 13:25:18

标签: c# regex

在我的某些数据库值中隐藏了一些十六进制值会导致我遇到麻烦,是否有人使用RegEx清除这些值?

这是我得到的错误:

'', hexadecimal value 0x19, is an invalid character.

这篇文章完全解释了我的问题,但我正在寻找一个RegEx解决方案: http://seattlesoftware.wordpress.com/2008/09/11/hexadecimal-value-0-is-an-invalid-character/

4 个答案:

答案 0 :(得分:4)

不应通过连接构建XML字符串,而应使用.NET提供的XML处理类。这些将正确编码危险字符作为XML实体,并生成格式良好的XML。

此外,正则表达式对XML处理效果不佳。

答案 1 :(得分:1)

我可以,但它也会发生任何死亡,牛肉,蜜蜂,be,b,亲爱的dea,任何十进制数字,任何a,b,c,d,e

...

I oul, ut it woul lso ny ourn o , , , , , th in r, ny iml gt, ny , , , ,

...

请参阅?

答案 2 :(得分:0)

你需要像......那样的东西吗?

    Regex regex = new Regex("0x\\d\\d");

    String Input = "this0x34is my 0x45 test 0x11";

    string Result = regex.Replace(Input, " ");

答案 3 :(得分:0)

我知道你希望Regex,但你尝试过System.Security.SecurityElement.Escape吗? 我相信这种方法专门针对您的用例。