我正在创建一个逻辑来用空格替换字符串中不可打印的字符,只是我很困惑它是否是相同的 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 方法以获取详细信息。
- 2 回答
- 0 关注
- 216 浏览
添加回答
举报
0/150
提交
取消