Ich hab bei mir manchmal (je nach Sprache) bestimmte Zeichen drinne (z. B. ã,é,ñ,í) die in anderen Programme Probleme machen. Kennt jemand eine Möglichkeit einen String automatisch umzubennen.
"Coração" --> "Coracao"
aber nicht --> "Corao"
Bitte keine Vorschläge wie "String.Replace". Ich hab leider keinen Überblick wieviele Möglichkeiten von Sondersymbolen über Buchstaben es gibt. Lieber wär mir irgendwas wie festlegen eines Strings in gültige Sprachen.
Hallo digi333,
etwas allgemeiner betrachtet nennt sich sowas Transkription. Wäre mir noch nicht aufgefallen, dass es sowas im Framework geben würden. Aber Drittbibliotheken müsste es für sowas eigentlich geben.
herbivore
Hallo,
unter (Unicode) Sonderzeichen in Grundbuchstaben umwandeln gibt es allgemeine Hinweise auch von MS, die Dir helfen könnten.
Jürgen
Ich hab die Antwort mal kopiert...
static string RemoveDiacritics(string stIn)
{
string stFormD = stIn.Normalize(NormalizationForm.FormD);
StringBuilder sb = new StringBuilder();
for(int i = 0; i < stFormD.Length; i++)
{
UnicodeCategory uc = CharUnicodeInfo.GetUnicodeCategory(stFormD[i]);
if(uc != UnicodeCategory.NonSpacingMark)
sb.Append(stFormD[i]);
}
return(sb.ToString().Normalize(NormalizationForm.FormC));
}