Преобразование полной ширины в полуширину

В С#, как мне преобразовать строку, которая использует символы формы полной ширины в символы формы полуширины?

Например, при использовании userInput ниже я хочу преобразовать Stackoverflow в Stackoverflow:

string userInput= "Stackoverflow";
//string userInput= "Stackoverflow";

Ответ 1

Вы можете использовать метод string.Normalize():

string userInput = "Stackoverflow";
string result = userInput.Normalize(NormalizationForm.FormKC);
//result = "Stackoverflow"

См. пример на DotNetFiddle.

Дополнительную информацию о формах нормализации можно найти на unicode.org.