Domino 9 und frühere Versionen > Entwicklung

String nach Sonderzeichen durchsuchen!

(1/2) > >>

Christopher:
Hallo,

ich suche in Scipt eine Funktion die eine Zeichenkette nach umlauten durchsucht und durch "ae" "ue" usw. ersetzt.

Hat evtl jemand in seiner Zauberkist was??

Gruß Christopher

eknori:
yoo, hab ich wohl !!

Function LSReplaceSubstring(strIN As String, Byval strWHAT As String, Byval strNEW As String) As String
    Dim i As Integer
   
    LSReplaceSubstring = strIN
    If (Len(strIN) = 0) Then Exit Function
    If (Len(strWHAT) > Len(strIN)) Then Exit Function
   
    i = Instr(strIN, strWHAT)
    If (i = 0) Then Exit Function
   
    LSReplaceSubstring = Mid(strIN, 1, i - 1) & strNEW & LSReplaceSubstring(Right(strIN, Len(strIN) - (i + Len(strWHAT) - 1)), strWHAT, strNEW)
   
End Function


Jetzt musst du nur nich ein bisschen drumherum programmieren; also die Funktion mehrfach aufrufen.

also so in der einfachsten Form

if InStr(1, DeinString, "ä") > 0 then

Deinstring = ReplaceSubString (Deinstring, "ä", "ae")

end if
   

Christopher:
Hallo Eknori,

ich wußte das wieder was in Deiner Zauberkiste hast. Ich werde jetzt mal den Cod testen.

Vielen Dank Christopher

eknori:
Hab mal schnell noch die restliche Logik zusammengebraten ( nicht schön, aber funktioniert)
Berücksichtigt üöäßÜÖÄ

Function KillUmlaute (Eingabe As String ) As String
     If Instr ( 1,Eingabe, "ä" ) > 0 Then
           Eingabe = LSReplaceSubstring ( Eingabe , "ä" , "ae" )
     End If
     If Instr ( 1, Eingabe, "ü" ) > 0 Then
           Eingabe = LSReplaceSubstring ( Eingabe , "ü" , "ue" )
     End If
     If Instr ( 1, Eingabe, "ö" ) > 0 Then
           Eingabe = LSReplaceSubstring ( Eingabe , "ö", "oe" )
     End If
     If Instr ( 1,Eingabe, "Ä" ) > 0 Then
           Eingabe = LSReplaceSubstring ( Eingabe , "Ä" , "Ae" )
     End If
     If Instr ( 1, Eingabe, "Ü" ) > 0 Then
           Eingabe = LSReplaceSubstring ( Eingabe , "Ü" , "Ue" )
     End If
     If Instr ( 1, Eingabe, "Ö" ) > 0 Then
           Eingabe = LSReplaceSubstring ( Eingabe , "Ö", "Oe" )
     End If
     If Instr ( 1, Eingabe, "ß" ) > 0 Then
           Eingabe = LSReplaceSubstring ( Eingabe , "ß" , "ss" )
     End If
     KillUmlaute = Eingabe
End Function

Christopher:
Danke für den Tip ist eine Super Geile Funktion  ;D ;D ;D ;D ;D ;D

Funktioniert sehr Gut

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln