Rubrik: Variablen/Strings · String-Operationen | VB-Versionen: VB4, VB5, VB6 | 20.02.01 |
Umlaute konvertieren Ersetzt die Umlaute in einer Zeichenkette durch die entsprechenden Doppelbuchstaben (aus ä wird ae, usw.) | ||
Autor: Matthias Kozlowski | Bewertung: | Views: 28.117 |
ohne Homepage | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Für manche Zwecke ist es notwendig, in einem Text alle Umlaute (äöüÄÜÖß) durch entsprechende zweibuchstabige Kombinationen zu ersetzen.
Die folgende Funktion ConvertGermanLetters erledigt das für Textstrings beliebiger Länge.
Public Function ConvertGermanLetters(ByVal sText _ As String) As String ' Ersetzt Umlaute in einer Zeichenkette durch ' entsprechende zweibuchstabige Kombinationen ' Ersetzungstabelle: ' "ä" -> "ae", "Ä" -> "Ae" ' "ö" -> "oe", "Ö" -> "Oe" ' "ü" -> "ue", "Ü" -> "Ue" ' "ß" -> "ss" Dim iPos As Integer Dim i As Integer Const sCheck = "äöüÄÖÜß" Const sReplace = "aeoeueAeOeUess" i = 0 While i < Len(sText) i = i + 1 iPos = InStr(sCheck, Mid$(sText, i, 1)) If iPos > 0 Then sText = Left$(sText, i - 1) + _ Mid$(sReplace, (iPos - 1) * 2 + 1, 2) + _ Mid$(sText, i + 1) i = i + 1 End If Wend ConvertGermanLetters = sText End Function
Beispiel:
sText = "Ich wüßte nicht, wer höher steigen könnte." Debug.Print ConvertGermanLetters(sText) ' Ich wuesste nicht, wer hoeher steigen koennte.