【发布时间】:2018-10-21 01:02:03
【问题描述】:
我正在创建一个逻辑来用空格替换字符串中的不可打印字符,只是我很困惑,如果它是相同的 ASCII 字符和 Unicode 字符,我已经回顾了如何使用 regex.replace 函数但我不明白如何验证字符串中的字符是否在以下条件之间。
这是我得到的要求,用空格代替:
- 值为 0 到 31 的所有 ASCII 字符。
- 值为 127、129、141、143、144 和 157 的 Unicode 字符
我已经尝试过了(我相信这适用于 ASCII 字符)但是我可以处理 unicode 字符吗?
newPartNum = Regex.Replace(PartNum, @"[^\u0020-\u007E]", " ");
任何帮助将不胜感激。
【问题讨论】:
-
你已经尝试了什么?
-
嗨@maccettura 我有这个 newPartNum = Regex.Replace(ttPartR.PartNum, @"[^\u0020-\u007E]", "");我相信这适用于 ASCII 字符,但我该如何处理 unicode 字符?
-
在你的问题中包括,不是在 cmets
-
“不可打印”是什么意思?您是否认为零宽度空间是“不可打印的”?从右到左的标记呢?结合变音符号?回车和换行?您需要从定义问题开始。
标签: c# regex unicode replace ascii