【发布时间】:2011-05-26 05:00:20
【问题描述】:
从平面文件导入数据时,我注意到有些行嵌入了不间断空格(十六进制:A0)。
我想删除这些,但标准的 string.replace 似乎不起作用,并且曾考虑使用正则表达式替换字符串,但不知道正则表达式会搜索什么来删除它。
与其将整个字符串转换为十六进制并进行检查,还有更好的方法吗?
【问题讨论】:
-
替换应该可以解决这个问题,你能显示代码(失败的)吗?
从平面文件导入数据时,我注意到有些行嵌入了不间断空格(十六进制:A0)。
我想删除这些,但标准的 string.replace 似乎不起作用,并且曾考虑使用正则表达式替换字符串,但不知道正则表达式会搜索什么来删除它。
与其将整个字符串转换为十六进制并进行检查,还有更好的方法吗?
【问题讨论】:
string.Replace 确实有效。不使用正则表达式:
stringVar = stringVar.Replace("\xA0", string.Empty);
【讨论】:
这对你有用吗?
var myNewString = myCurrentString.Replace("\n", string.Empty );
myNewString = myNewString.Replace("\r", string.Empty );
“\n”是 ASCII 换行,“\r”是回车。
【讨论】:
Regex.Replace(input, "\xA0", String.Empty);
应该这样做。
【讨论】:
为什么 string.Replace 不起作用?
stringVar.Replace((char)0xA0, ' ');
【讨论】:
Replace的字符串版本,null作为第二个参数。