从平面文件导入数据时,我注意到一些行嵌入了非空格(Hex:A0)。从基于十六进制值的字符串中删除特定字符
我想删除这些,但标准的string.replace似乎并没有工作,并已考虑使用正则表达式来替换字符串,但不知道正则表达式将搜索将其删除。
而不是将整个字符串转换为十六进制并检查,有没有更好的方法?
从平面文件导入数据时,我注意到一些行嵌入了非空格(Hex:A0)。从基于十六进制值的字符串中删除特定字符
我想删除这些,但标准的string.replace似乎并没有工作,并已考虑使用正则表达式来替换字符串,但不知道正则表达式将搜索将其删除。
而不是将整个字符串转换为十六进制并检查,有没有更好的方法?
为什么不能string.Replace工作?
stringVar.Replace((char)0xA0, ' ');
以上更改为空白,对不对?你如何彻底删除它?我尝试过“”和“',但显然如果你在替换的左边有一个字符,你必须在右侧有一个字符。 – NealWalters 2012-05-18 16:58:55
@NealWaters:你需要使用'null'作为第二个参数的'Replace'的字符串版本。 – 2012-05-28 09:44:04
Regex.Replace(input, "\xA0", String.Empty);
这应该做到这一点。
这会为你工作吗?
var myNewString = myCurrentString.Replace("\n", string.Empty);
myNewString = myNewString.Replace("\r", string.Empty);
“\n
” 是ASCII换行符, “\r
” 的回归。
string.Replace does not work。不使用正则表达式:
stringVar = stringVar.Replace("\xA0", string.Empty);
替换应该处理,你能显示代码(失败)? – 2010-12-15 21:44:40