2012-03-20 2 views
1

Мы знаем, что функция ToLower повернет все А кКак предотвратить vb.net от дифференцирования к

Как превратить все Виола к.

Целью я создаю идентификаторы для баз данных, и идентификатор должен быть уникальным. Иногда одни и те же магазины записываются как à в одном месте и как в других местах. Это создаст проблему с дублирующимся идентификатором.

Так что мне нужна функция, которая превратит все а и все его вариации в. Точно так же ě должно стать e.

В основном я бы использовал настройку utf8_unicode для своих баз данных. Буквы, которые считаются одной и той же буквой в соответствии с этой сортировкой, должны сопоставляться одному и тому же символу под этой функцией.

Мне нужно убедиться, что все остальные восточно-азиатские символы не затронуты.

Как это сделать?

+0

[Как удалить диакритические (акценты) из строки в .NET?] (Http://stackoverflow.com/questions/249087/how-do-i-remove-diacritics-accents-from- a-string-in-net) –

ответ

-1
static string RemoveDiacritics(string stIn) 
     { 
      string stFormD = stIn.Normalize(NormalizationForm.FormD); 
      StringBuilder sb = new StringBuilder(); 
      for (int ich = 0; ich < stFormD.Length; ich++) 
      { 
       UnicodeCategory uc = CharUnicodeInfo.GetUnicodeCategory(stFormD[ich]); 
       if (uc != UnicodeCategory.NonSpacingMark) 
       { 
        sb.Append(stFormD[ich]); 
       } 
      } 
      return (sb.ToString().Normalize(NormalizationForm.FormC)); 
     } 
+0

oh нет встроенной функции, не так ли? –

+2

Вы должны хотя бы ссылаться на свои источники ... http://blogs.msdn.com/b/michkap/archive/2007/05/14/2629747.aspx или http://stackoverflow.com/questions/249087/how -У-я-удалить-диакритические знаки-акцентами-с-а-строки-в-сети –

Смежные вопросы