Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Christopher am 22.05.02 - 18:20:34
-
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
-
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
-
Hallo Eknori,
ich wußte das wieder was in Deiner Zauberkiste hast. Ich werde jetzt mal den Cod testen.
Vielen Dank Christopher
-
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
-
Danke für den Tip ist eine Super Geile Funktion ;D ;D ;D ;D ;D ;D
Funktioniert sehr Gut
-
So, nach dem Schnellschuss von gestern abend ( und einer guten Flasche Wein ) hier eine etwas professionellere Lösung
Function KillUmlaute ( s As String ) As String
strformula = { @ReplaceSubString("} + s + {"; "ä":"ö":"ü":"ß":"Ä":"Ö":"Ü"; "ae":"oe":"ue":"ss":"Ae":"Oe":"Ue" ) }
nStr = Evaluate( strformula )
KillUmlaute = nstr(0)
End Function
Und zum Testen folgender Aufruf
Sub Click(Source As Button)
Dim s As String
s="ä ü ö ß Ä Ü Ö "
Msgbox KillUmlaute(s)
End Sub
eknori
-
Hallo Eknori,
ich fand die Lösung von gestern shon sehr professionel aber das ist noch besser schneller und kleiner. ;D ;D
Vielen Dank
Christopher
-
Hallo ihr zwei,
das habe ich dazu gefunden:
_domain := "@mydomain.de";
_firstname := @Left(@ReplaceSubString(Firstname;"Ä":"Ö":"Ü":"ä":"ö":"ü":"ß";"Ae":"Oe":"Ue":"ae":"oe":"ue":"ss");3);
_lastname := @Left(@ReplaceSubString(Lastname;"Ä":"Ö":"Ü":"ä":"ö":"ü":"ß";"Ae":"Oe":"Ue":"ae":"oe":"ue":"ss");4);
FIELD InternetAddress := _firstname+_lastname+_domain;
wie man(n) sieht wird diese Formel zum konvertieren
von Namen benutzt.
Vieleicht hifts ja weiter
Felix
-
Klasse, aber Christopher wollte eine Script Lösung ;D
-
endschuldigung, ;D
wer lesen kann ist klar im Vorteil ;D ;) ;D
Felix