Как удалить нечитаемые символы из строки?

Есть переменная. В режиме отладки в нём такое значение

введите сюда описание изображения

А в режиме просмотра значения вот такое. Как удалять из строки "нечитаемые" символы.

введите сюда описание изображения


Ответы (1 шт):

Автор решения: Alexander Petrov

Нечитаемых символов в юникоде много. И они относятся к разным категориям: UnicodeCategory Enum, Supported Unicode general categories, Supported named blocks.

Убрать их можно либо методами работы со строками, либо регулярками.

Нужно определиться с тем, какие категории отфильтровывать. Допустим, уберём все символы, которые относятся к контрольным (перевод каретки, табуляция и т. п.)

string input = "E\a";
Console.WriteLine(input.Length); // 2

string output = new string(input.Where(c => !char.IsControl(c)).ToArray());                        
Console.WriteLine(output.Length); // 1
→ Ссылка