Wie ersetze ich Akzente (Deutsch) in .NET

8

Ich muss Akzente in der Zeichenfolge zu ihren englischen Entsprechungen

ersetzen

zum Beispiel

ä = ae

ö = oe

Ö = Oe

ü = ue

Ich weiß, dass ich sie aus der Schnur streichen kann, aber ich wusste nichts von einem Ersatz.

Bitte lassen Sie mich wissen, wenn Sie einige Vorschläge haben. Ich schreibe in C #

    
subha 13.08.2009, 12:06
quelle

4 Antworten

28

Wenn Sie dies für größere Strings verwenden müssen, können mehrere Aufrufe von Replace() ziemlich schnell ineffizient werden. Sie können besser Ihre Zeichenfolge Zeichen für Zeichen neu erstellen:

%Vor%     
dahlbyk 13.08.2009 12:37
quelle
8

Möchten Sie nur eine Umlaute deutscher Umlaute in die zweibuchstabige (nicht Umlaute) Variante? Bitte schön; ungetestet, aber es behandelt alle deutschen Umlaute.

%Vor%     
Frerich Raabe 13.08.2009 12:16
quelle
3

Ich kann mir keinen automatischen Weg vorstellen, dies zu tun, also glaube ich, dass Sie es manuell tun müssten.

ie.

%Vor%

Wie viele Charaktere gibt es? Alle Vokale, in Groß- und Kleinschreibung, also 10? Sollte nicht zu viel Arbeit sein.

    
Paul McLean 13.08.2009 12:11
quelle
0

Wie wäre es mit der Verwendung von string.Replace:

%Vor%

(okay, kein echtes deutsches Wort, aber ich konnte nicht widerstehen)

Sie können Aufrufe an Ersetzen wie folgt verketten

%Vor%     
Mark Seemann 13.08.2009 12:15
quelle