根据十六进制值从字符串中删除特定字符

时间:2010-12-15 21:41:13

标签: c# string hex

从平面文件导入数据时,我注意到有些行嵌入了非中断空格(Hex:A0)。

我想删除这些,但标准的string.replace似乎不起作用,并考虑使用正则表达式替换字符串,但不知道正则表达式将搜索删除它。

不是将整个字符串转换为十六进制并检查它,是否有更好的方法?

4 个答案:

答案 0 :(得分:21)

为什么没有string.Replace工作?

stringVar.Replace((char)0xA0, ' ');

答案 1 :(得分:12)

Regex.Replace(input, "\xA0", String.Empty);

应该这样做。

答案 2 :(得分:6)

string.Replace确实有效。不使用RegEx:

stringVar = stringVar.Replace("\xA0", string.Empty);

答案 3 :(得分:3)

这对你有用吗?

var myNewString = myCurrentString.Replace("\n", string.Empty );
myNewString = myNewString.Replace("\r", string.Empty );

\n”是ASCII LineFeed,“\r”是返回。