我想从字符串中删除任何不可见的字符,只保留空格&来自0x20-0x7F的任何字符,
我用这个:Regex.Replace(QueryString, @"[^\s\x20-\x7F]", "");
但它不起作用
QueryString
有一个字符0xA0,之后,字符仍然存在于QueryString
中。
我不确定为什么这不起作用?
答案 0 :(得分:2)
0xA0
是不间断的空格字符 - 因此它与\s
匹配。而不是使用\s
,将其展开到您想要包含的空白字符列表中。
答案 1 :(得分:0)
我认为你宁愿使用StringBuilder来处理这些字符串。
StringBuilder sb = new StringBuilder(str.Length);
foreach(char ch in str)
{
if (0x20 <= ch && ch <= 0x7F)
{
sb.Append(ch)
}
}
string result = sb.ToString();