 H.Brill | Weiß jemand, wie die Systemvariablen $Match, %MatchPos, %MatchLen bei Translate$() zu behandlen sind ? Laut Hilfe sollten diese ja sowohl bei InStr() als auch bei Translate$() gesetzt werden.
Bei InStr() klappt das auch, aber bei Translate$() scheinen diese nicht gesetzt zu werden. Da Translate$() ja rekursiv arbeitet, müßte $Match usw. ja in der Funktion Translate$() selber bei jedem Fund gesetzt werden.
Hier ein Beispiel, um dopplete Zeichen auszufiltern und zu ersetzen. KompilierenMarkierenSeparierenDeclare a$, b$, d&
Set("RegEx", 1)
// Hier mit InStr//
d& = 1
a$ = "abcdefgghijklmnnoopqrstuvwxyzz"
While InStr("(.)~1+", a$, d&) > 0
If $Match <> ""
d& = %MatchPos
Print $Match
a$ = Translate$(a$, $Match, Right$($Match, 1))
EndIf
EndWhile
Print a$
Print "Jetzt mit Translate$() TASTE DRÜCKEN...."
Waitkey
// hier mit Translate$() //
Print Translate$("abcdefgghijklmnoopqrstuvwwwxyzz", "(.)~1+", Left$($Match, 1))
Waitkey
End
|
|