[英]Removing control characters from a UTF-8 string
这是我的风格:
Regex.Replace(evilWeirdoText, @"[\u0000-\u001F]", string.Empty)
这会去除所有前31个控制字符。 从\\ u001F开始的下一个十六进制值是\\ u0020 AKA。 空格之前的所有内容都是换行符,并且为零。
让我相信角色: http : //donsnotes.com/tech/charsets/ascii.html
我认为以下代码将为您工作:
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();
}
如果计划将字符串用作查询字符串,则应在发送出去之前考虑使用Uri.EscapeUriString()
或Uri.EscapeDataString()
。 注意:您可能仍然需要先从char.IsControl()中提取任何内容?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.