Exemplo n.º 1
0
        public static string RemoveDiacritics(string accentedStr, DictionaryDef eDictionary)
        {
            char[] replacement = null;
            char[] accents     = null;
            switch (eDictionary)
            {
            case DictionaryDef.Arabic:
                replacement = arabicReplace;
                accents     = arabicAccents;
                break;

            case DictionaryDef.Slovak:
            case DictionaryDef.SlovakAlt:
                replacement = slovakianReplace;
                accents     = slovakianAccents;
                break;

            case DictionaryDef.Latvian:
                replacement = latvianReplace;
                accents     = latvianAccents;
                break;

            case DictionaryDef.Icelandic:
                replacement = icelandicReplace;
                accents     = icelandicAccents;
                break;

            case DictionaryDef.Estonian:
                replacement = estonianReplace;
                accents     = estonianAccents;
                break;

            case DictionaryDef.Bulgarian:
                replacement = bulgarianReplace;
                accents     = bulgarianAccents;
                break;

            case DictionaryDef.Romanian:
                replacement = romanianReplace;
                accents     = romanianAccents;
                break;

            case DictionaryDef.Croatian:
            case DictionaryDef.Slovenian:
                replacement = croatianReplace;
                accents     = croatianAccents;
                break;

            case DictionaryDef.English:
                replacement = englishReplace;
                accents     = englishAccents;
                break;

            case DictionaryDef.French:
            case DictionaryDef.CanadianFrench:
            case DictionaryDef.SwissFrench:
                replacement = frenchReplace;
                accents     = frenchAccents;
                break;

            case DictionaryDef.German:
                replacement = germanReplace;
                accents     = germanAccents;
                break;

            case DictionaryDef.Spanish:
                replacement = spanishReplace;
                accents     = spanishAccents;
                break;

            case DictionaryDef.Catalan:
                replacement = catalanReplace;
                accents     = catalanAccents;
                break;

            case DictionaryDef.Italian:
                replacement = italianReplace;
                accents     = italianAccents;
                break;

            case DictionaryDef.Polish:
                replacement = polishReplace;
                accents     = polishAccents;
                break;

            case DictionaryDef.Hungarian:
                replacement = hungarianReplace;
                accents     = hungarianAccents;
                break;

            case DictionaryDef.Portuguese:
            case DictionaryDef.BrazilianPortuguese:
                replacement = portugueseReplace;
                accents     = portugueseAccents;
                break;

            case DictionaryDef.Czech:
            case DictionaryDef.CzechAlt:
                replacement = czechReplace;
                accents     = czechAccents;
                break;

            case DictionaryDef.Dutch:
                replacement = dutchReplace;
                accents     = dutchAccents;
                break;

            case DictionaryDef.Turkish:
                replacement = turkishReplace;
                accents     = turkishAccents;
                break;

            case DictionaryDef.Russian:
                replacement = russianReplace;
                accents     = russianAccents;
                break;

            case DictionaryDef.Ukrainian:
                replacement = ukarainianReplace;
                accents     = ukarainianAccents;
                break;

            case DictionaryDef.Greek:
                replacement = greekReplace;
                accents     = greekAccents;
                break;

            default:
                return(accentedStr);
            }

            if (accents != null &&
                replacement != null &&
                accentedStr.IndexOfAny(accents) > 0)
            {
                sbStripAccents.Length = 0;
                sbStripAccents.Append(accentedStr);
                for (var i = 0;
                     i < accents.Length;
                     i++)
                {
                    sbStripAccents.Replace(accents[i], replacement[i]);
                }

                return(sbStripAccents.ToString());
            }
            return(accentedStr);
        }
Exemplo n.º 2
0
        public static string Remove(string accentedStr, DictionaryDef eDictionary)
        {
            char[] replacement = null;
            char[] accents = null;
            switch (eDictionary)
            {
                case DictionaryDef.Arabic:
                    replacement = arabicReplace;
                    accents = arabicAccents;
                    break;

                case DictionaryDef.Slovak:
                case DictionaryDef.SlovakAlt:
                    replacement = slovakianReplace;
                    accents = slovakianAccents;
                    break;

                case DictionaryDef.Latvian:
                    replacement = latvianReplace;
                    accents = latvianAccents;
                    break;

                case DictionaryDef.Icelandic:
                    replacement = icelandicReplace;
                    accents = icelandicAccents;
                    break;

                case DictionaryDef.Estonian:
                    replacement = estonianReplace;
                    accents = estonianAccents;
                    break;

                case DictionaryDef.Bulgarian:
                    replacement = bulgarianReplace;
                    accents = bulgarianAccents;
                    break;

                case DictionaryDef.Romanian:
                    replacement = romanianReplace;
                    accents = romanianAccents;
                    break;

                case DictionaryDef.Croatian:
                case DictionaryDef.Slovenian:
                    replacement = croatianReplace;
                    accents = croatianAccents;
                    break;

                case DictionaryDef.English:
                    replacement = englishReplace;
                    accents = englishAccents;
                    break;

                case DictionaryDef.French:
                case DictionaryDef.CanadianFrench:
                case DictionaryDef.SwissFrench:
                    replacement = frenchReplace;
                    accents = frenchAccents;
                    break;

                case DictionaryDef.German:
                    replacement = germanReplace;
                    accents = germanAccents;
                    break;

                case DictionaryDef.Spanish:
                    replacement = spanishReplace;
                    accents = spanishAccents;
                    break;

                case DictionaryDef.Catalan:
                    replacement = catalanReplace;
                    accents = catalanAccents;
                    break;

                case DictionaryDef.Italian:
                    replacement = italianReplace;
                    accents = italianAccents;
                    break;

                case DictionaryDef.Polish:
                    replacement = polishReplace;
                    accents = polishAccents;
                    break;

                case DictionaryDef.Hungarian:
                    replacement = hungarianReplace;
                    accents = hungarianAccents;
                    break;

                case DictionaryDef.Portuguese:
                case DictionaryDef.BrazilianPortuguese:
                    replacement = portugueseReplace;
                    accents = portugueseAccents;
                    break;

                case DictionaryDef.Czech:
                case DictionaryDef.CzechAlt:
                    replacement = czechReplace;
                    accents = czechAccents;
                    break;

                case DictionaryDef.Dutch:
                    replacement = dutchReplace;
                    accents = dutchAccents;
                    break;

                case DictionaryDef.Turkish:
                    replacement = turkishReplace;
                    accents = turkishAccents;
                    break;

                case DictionaryDef.Russian:
                    replacement = russianReplace;
                    accents = russianAccents;
                    break;

                case DictionaryDef.Ukrainian:
                    replacement = ukarainianReplace;
                    accents = ukarainianAccents;
                    break;

                case DictionaryDef.Greek:
                    replacement = greekReplace;
                    accents = greekAccents;
                    break;

                default:
                    return accentedStr;
            }

            if (accents != null &&
                replacement != null &&
                accentedStr.IndexOfAny(accents) > 0)
            {
                sbStripAccents.Length = 0;
                sbStripAccents.Append(accentedStr);
                for (var i = 0;
                    i < accents.Length;
                    i++)
                {
                    sbStripAccents.Replace(accents[i], replacement[i]);
                }

                return sbStripAccents.ToString();
            }
            return accentedStr;
        }