Csharp/C#教程:从UTF-8字符串中删除控制字符分享


从UTF-8字符串中删除控制字符

我发现了这个问题,但它也删除了所有有效的utf-8字符(返回一个空字符串,而有效的utf-8字符加上控制字符)。 当我读到utf-8control characters没有特定的范围,每个字符集都有自己的control characters

如何修改上述解决方案只删除control characters

我认为以下代码适合您:

 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(); } 

这是我的风格:

 Regex.Replace(evilWeirdoText, @"[u0000-u001F]", string.Empty) 

这将删除所有前31个控制字符。 来自 u001F的下一个hex值是 u0020空间。 在太空之前的一切都是换行和无效的废话。

相信我的角色: http : //donsnotes.com/tech/charsets/ascii.html

如果您计划将字符串用作查询字符串,则应在发送之前考虑使用Uri.EscapeUriString()Uri.EscapeDataString() 。 注意:您可能仍需要首先从char.IsControl()中提取任何内容?

上述就是C#学习教程:从UTF-8字符串中删除控制字符分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注---计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/985423.html

(0)
上一篇 2021年12月21日
下一篇 2021年12月21日

精彩推荐