以编程方式删除字符串中的控制字符



我想删除所有控制字符从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, "");
}

双重逃生吹了它。好的。但是怎么做呢?

您可以使用 LINQ:

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

这样,您可以删除控制字符:

string input = "u002Some Text";
string output = new string(input.Where(c => !char.IsControl(c)).ToArray());

最新更新