Как удалить контрольные символы из строки UTF8 - PullRequest
5 голосов
/ 21 декабря 2010

У меня есть программа VB.NET, которая обрабатывает содержимое документов.Программа обрабатывает большие объемы документов как «пакетные» (> 2 миллиона документов; общий объем 1 ТБ). Некоторые из этих документов могут содержать контрольные символы или символы типа f0e8 (http://www.fileformat.info/info/unicode/char/f0e8/browsertest.htm).

. Есть ли простой и особенно быстрый способ удалить эти символы? (Кроме пробела, новой строки, табуляции, ...) Если ответ регулярное выражение: есть ли у кого-нибудь полный регулярное выражение для меня?

Спасибо!

Ответы [ 2 ]

16 голосов
/ 21 декабря 2010

Попробуйте

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

Это удалит все «другие» символы Юникода (контроль, формат, личное использование, суррогатное и неназначенное) из вашей строки.

0 голосов
/ 21 декабря 2010

Вот регулярное выражение POSIX для управляющих символов: [:cntrl:], из Регулярное выражение в Википедии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...