Цель должна состоять в том, чтобы просто включить символы ASCII AZ и цифры и знаки препинания.Просто исключите все, что находится за пределами этого диапазона, используя RegEx.
string clean = Regex.Replace(messy, @"[^\x20-\x7e]", String.Empty);
Для ясности, я использую регулярное выражение:
[^\x20-\x7e]
Вам может понадобиться экранировать \ символ - IЯ не проверял это ни в чем, кроме RegEx buddy:)
Это исключает все, что находится за пределами символов ASCII 0x20 и 0x7e, что переводит в десятичный диапазон ASCII 32-127.
Удачи!
Лучший,
-Аури