删除某些Unicode(垃圾)JSON字符

时间:2018-11-13 16:23:26

标签: c# json regex

我正在从文件中读取数据,有时文件中包含一些时髦的内容,例如:

"䉌Āᜊ»ç‰ç•‡ï¼ƒè¸²æœ€ä²’Bíœë¨¿ä„€å•²ï²ä‹¾é¥˜BéŒé“‡ä„€â²ä‹¾â¢"

我需要删除/替换这些字符,因为JSON不知道如何处理它们。

(我认为)它们不是控制字符,所以我目前的

正则表达式

Regex.Replace(value, @"\p{C}+", string.Empty);

没有抓住他们。

读入的许多这些字符串会很长,最多256个字符,所以我宁愿不遍历每个char来检查它。

有一个简单的解决方案吗?我以为正则表达式可以解决这个问题,但是我不确定。

1 个答案:

答案 0 :(得分:0)

如果您想要的只是ASCII,那么您可以这样做:

Regex.Replace(value, @"[^\x00-\x7F]+", string.Empty);

如果您只需要“普通” ASCII字符,则可以执行以下操作:

Regex.Replace(value, @"[^\x20-\x7E]+", string.Empty);