c# - 从字符串中删除不需要的 Unicode 字符
问题描述
我已经查看了很多与此相关的相关 SO 帖子。我有这个格式错误的字符串,其中包含我想要删除的 unicode 字符。
string testString = "\0\u0001\0\0\0����\u0001\0\0\0\0\0\0\0\u0011\u0001\0\0\0\u0004\0\0\0\u0006\u0002\0\0\0\u0005The\u0006\u0003\0\0\0\u0017boy\u0006\u0004\0\0\0\tKicked\u0006\u0005\0\0\0\u0013the Ball\v";
我想要以下输出:
The boy kicked the Ball
我怎样才能做到这一点?
我查看了以下内容(没有太大成功):
- 如何从字符串中去除非 ASCII 字符?(在 C# 中)
- 转换 unicode 字符 (C#) 测试
- 如何从 C# 中的字符串中删除 '\0'?
- 从列中删除不需要的字符(与 SQL Server 相关,因此与我的问题无关)
解决方案
testString = Regex.Replace(testString, @"[\u0000-\u0008\u000A-\u001F\u0100-\uFFFF]", "");
或者
testString = Regex.Replace(testString, @"[^\t\r\n -~]", "");
推荐阅读
- oauth-2.0 - 是否可以在另一个 API 服务器上验证 Netlify 身份用户?
- php - 基于两个数组数据选择查询时如何避免循环
- angular - 如何在 ngx-leaflet-draw 中获取多边形的位置坐标?
- c++ - C++ 类型别名,其中值被替换
- javascript - React tabs 组件活动选项卡
- c# - 将较小的数组内插到较大的数组中,反之亦然
- mobile - 如何获得 YouTube 视频下载离线查看源代码以在我的 Android 应用程序中使用?
- c++ - 使用文件内容作为硬编码字符串
- java - 无法在 Servlet 中启动 Selenium chrome 驱动程序(Java 动态 Web 项目)
- ios - Swift,将节点添加到 SCNNode 并放置在角落