StringReplace
Verfasst: 30.04.2007 08:39
Hallo,
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

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