ich habe ein 'StringReplace' benötigt, und habe eins erstellt was es so noch nicht gibt. Groß-Klein schreibung unabhängig und mehrfach ersetzen.
Wenn ihr noch ideen zur verbesserung habt, lasst es mich wissen!
Dater.
Code
Code: Alles auswählen
;
; StringReplace 30.04.2007 Markus Maiwald
; (fast so gut wie das von AHK)
Procedure.s StringReplace(text.s,such.s,ersetz.s)
l=Len(text.s) : l2=Len(such.s) : te=0 : start=1
weiter:
For s=start To l ; loop text
a.b=Asc(Mid(text.s,s,1)) ; asc Zeichen Text
For t=1 To l2 ; loop suchtext
b.b=Asc(Mid(such.s,t+te,1)) ; asc Zeichen Suchtext
If a.b=b.b Or (a.b+32)=b.b Or (a.b-32)=b.b; Groß Klein Schreibung aufheben.
te=te+1 ; Anzahl der Treffer
If te=l2 ; Anzahl der Treffer mit Anzahl der SuchZeichen vergleichen
ok=ok+1 ; Anzahl der gfunden Texte die ersetzt wurden.
text1.s=Left(text.s,s-l2) ; Linke Textseite
text2.s=Right(text.s,l-s) ; Rechte Textseite
text.s=text1.s+ersetz.s+text2.s ; Text zusammen setzen
l=Len(text.s) ; Neue Text Länge
start=s-l2+(Len(ersetz.s))+1 ; Neuer Start berechnen.
te=0 ; Treffer auf null
Goto weiter ;
EndIf
Break
Else
te=0
EndIf
Next t
Next s
ProcedureReturn text.s
EndProcedure
;z.B.
A$="Es ist am Sontag immer so schon."
b$="o"
c$="oe"
;Debug StringReplace(a$,b$,c$)
; Space
b$=" "
c$=""
A$="Es ist am Sontag immer so schön."
;Debug StringReplace(a$,b$,c$)
;Groß-Klein schreibung
A$="Es ist am Sontag immer so schön."
b$="SONTAG"
c$="Montag"
;Debug StringReplace(a$,b$,c$)
Code

Code: Alles auswählen