2017-05-08 58 views
0

我想从0x00删除所有控制字符到0x1F。以编程方式删除字符串中的控制字符

我想我会那样做:

string x = "\x1BTEST"; 

for (string stringHex = "00"; !stringHex.Equals("1F"); stringHex = (int.Parse(stringHex, System.Globalization.NumberStyles.HexNumber) + 1).ToString("X2")) 
{ 
    x = x.Replace("\\x" + stringHex, ""); 
} 

双逃避打击它。好。但怎么做呢?

+1

[从删除字符串中的隐藏人物]的可能的复制(http://stackoverflow.com/questions/15259275/removing-hidden-characters-from-within-strings ) – MethodMan

回答

4

你可以使用LINQ:

x = new string(x.Where(c => (int)c >= 0x1F).ToArray()); 
+0

我喜欢LINQ。但是,我学会了C#1.0和2.0,并且只是用老式的编程方式思考,所以我努力应用它。 但谢谢你的解决方案。 – tuxmania