为了账号安全,请及时绑定邮箱和手机立即绑定

替换字符串中不可打印的字符

替换字符串中不可打印的字符

C#
慕村9548890 2021-06-03 14:03:07
我正在创建一个逻辑来用空格替换字符串中不可打印的字符,只是我很困惑它是否是相同的 ASCII 字符和 Unicode 字符,我已经回顾了如何使用 regex.replace 函数,但我没有'不明白如何验证字符串中的字符是否在以下条件之间。这是我得到的要求,用空格替换:值为 0 到 31 的所有 ASCII 字符。值为 127、129、141、143、144 和 157 的 Unicode 字符我试过这个(我相信这适用于 ASCII 字符)但是我可以处理 unicode 字符吗?newPartNum = Regex.Replace(PartNum, @"[^\u0020-\u007E]", " ");任何帮助将不胜感激。
查看完整描述

2 回答

?
达令说

TA贡献1821条经验 获得超6个赞

看一下Char 结构体类型的IsControl 方法。如果没有其他原因,它会谈论控制字符的范围。

此外,在正则表达式中使用一系列有效字符当然是可行的,但在处理 Unicode 字符时可能会变得混乱,因为范围很大。寻找您需要替换的字符可能会更好。再次查看 Char.IsControl 方法以获取详细信息。


查看完整回答
反对 回复 2021-06-05
  • 2 回答
  • 0 关注
  • 216 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信