发布于 2011-07-23 18:03:13
我认为以下代码将为您工作:
public static string RemoveControlCharacters(string inString)
{
    if (inString == null) return null;
    StringBuilder newString = new StringBuilder();
    char ch;
    for (int i = 0; i < inString.Length; i++)
    {
        ch = inString[i];
        if (!char.IsControl(ch))
        {
            newString.Append(ch);
        }
    }
    return newString.ToString();
}发布于 2014-04-02 15:12:40
这就是我的工作方式:
Regex.Replace(evilWeirdoText, @"[\u0000-\u001F]", string.Empty)这将删除所有前31个控制字符。从\u001F开始的下一个十六进制值是\u0020,即空格。空格之前的一切都是换行符和null的废话。
相信我的角色:http://donsnotes.com/tech/charsets/ascii.html
发布于 2013-01-05 06:17:06
如果您计划将该字符串用作查询字符串,则应考虑在将其发送出去之前使用Uri.EscapeUriString()或Uri.EscapeDataString()。注意:您可能仍然需要先从char.IsControl()中提取任何内容?
https://stackoverflow.com/questions/6799631
复制相似问题