Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Christopher am 22.05.02 - 18:20:34

Titel: String nach Sonderzeichen durchsuchen!
Beitrag 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
Titel: Re: String nach Sonderzeichen durchsuchen!
Beitrag von: eknori am 22.05.02 - 18:38:13
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
   
Titel: Re: String nach Sonderzeichen durchsuchen!
Beitrag von: Christopher am 22.05.02 - 18:58:30
Hallo Eknori,

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

Vielen Dank Christopher
Titel: Re: String nach Sonderzeichen durchsuchen!
Beitrag von: eknori am 22.05.02 - 19:08:57
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
Titel: Re: String nach Sonderzeichen durchsuchen!
Beitrag von: Christopher am 22.05.02 - 19:28:32
Danke für den Tip ist eine Super Geile Funktion  ;D ;D ;D ;D ;D ;D

Funktioniert sehr Gut
Titel: Re: String nach Sonderzeichen durchsuchen!
Beitrag von: eknori am 23.05.02 - 08:56:13
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
Titel: Re: String nach Sonderzeichen durchsuchen!
Beitrag von: Christopher am 23.05.02 - 09:48:08
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
Titel: Re: String nach Sonderzeichen durchsuchen!
Beitrag von: Felix am 23.05.02 - 10:18:33
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
Titel: Re: String nach Sonderzeichen durchsuchen!
Beitrag von: eknori am 23.05.02 - 10:26:25
Klasse, aber Christopher wollte eine Script Lösung  ;D
Titel: Re: String nach Sonderzeichen durchsuchen!
Beitrag von: Felix am 23.05.02 - 10:37:33
endschuldigung,   ;D

wer lesen kann ist klar im Vorteil  ;D ;) ;D

Felix