2010-12-21 77 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字符(控制,格式,私人使用,替代,以及未分配)。