我正在尝试仅包含特定于此拉丁字符集的不可打印字符:http://www.utf8-chartable.de/unicode-utf8-table.pl?utf8=0x
我的正则表达式如下:
var output = Regex.Replace(input, @"[^\u0020-\u007E]|[^\u00A0-\u00FF]", string.Empty);
我特别关注LINE SEPARATOR'(u2028),但我想排除任何控制角色,所以我想要一个白名单,而不是黑名单。
我基本上只想将u0020(SPACE)包括到u007E(TILDE)或u00A0(NO-BREAK SPACE)到u00FF(带有DIAERESIS的LATIN SMALL LETTER)。
我在集合上的否定是错误的,但我无法弄清楚如何解决它。有什么想法吗?
以下似乎有效
var input = "</span><span>
</span><span>"
var output = Regex.Replace(input, @"[^\u0020-\u007E\u00A0-\u00FF]", string.Empty);
// gives: </span><span> </span><span>