2010-12-21 101 views
4

我有一个处理文档内容的VB.NET程序。 该程序处理大批量的文件为“批量”(> 2百万个文件;总共1TB量) 这些文档中的一些可能包含控制字符或字符,如f0e8(http://www.fileformat.info/info/unicode/char /f0e8/browsertest.htm)。如何从UTF8字符串中删除控制字符

是否有删除方便,尤其是快速方式字符(除空格,换行,制表符,...) 如果答案是正则表达式:?有没有人一个完整正则表达式我吗?

谢谢!

+3

控制字符有什么问题?我假设他们适合文件本身。 – Lazarus 2010-12-21 15:30:34

+0

该程序使用不同的解析器(word,pdf,...),并处理纯文本和XML文件。有时(提取的)“body”/ content字符串仍然包含恼人的字符,如“f0e8”。所以我必须自己删除它们 – Mimefilt 2010-12-21 15:35:06

+0

http://www.utf8-chartable.de/unicode-utf8-table.pl?start=61568&number=512说f0e8是一个utf8字符或我错了吗? – Mimefilt 2010-12-21 15:48:10

回答

13

尝试

resultString = Regex.Replace(subjectString, "\p{C}+", ""); 

这将从字符串中删除所有的 “其他” Unicode字符(控制,格式,私人使用,替代,以及未分配)。