String prüfen mit Wildcards
Verfasst: 04.11.2006 00:00
Hallo!
NickTheQuick hat zwar schon mal einen Code hierzu gepostet, aber ich habe auch noch einen, der komplett ohne Pointer auskommt. Möglicherweise kann man noch an der Performanceschraube drehen, aber dafür ist der Code schön verständlich. Wie man die procedure aufruft, steht unten drunter:Damit kann man zum beispiel Dateinamen überprüfen, wie bei der Suche, wenn man nach *.pb sucht, werden alle PB-Dateien gefunden. Eine Suche nach »Code*.pb« wird z. B. mit allen dateinamen/Strings übereinstimmen, bei denen am Anfang Code und am ende .pb steht. man bachte, dass das Wildcard auch für nichts, also für "" stehen kann!
Mit meiner Prozedur lässt sich das Wildcard übrigens auch austauschen.

NickTheQuick hat zwar schon mal einen Code hierzu gepostet, aber ich habe auch noch einen, der komplett ohne Pointer auskommt. Möglicherweise kann man noch an der Performanceschraube drehen, aber dafür ist der Code schön verständlich. Wie man die procedure aufruft, steht unten drunter:
Code: Alles auswählen
Procedure.l match(string.s, match.s, wildcard.s="*")
Protected NewList strings.s(), n.l, pos.l=1
For n=1 To CountString(match, wildcard)+1
AddElement(strings())
strings()=StringField(match, n, wildcard)
Next
n=CountList(strings())
ForEach strings()
pos=FindString(string, strings(), pos)
If pos Or (Not strings())
pos+Len(strings())
n-1
EndIf
Next
ProcedureReturn (Not n)
EndProcedure
#a="Franz jagt im komplett verwahrlosten Taxi quer durch Bayern"
#b="XFranz X im komplett X Taxi quer Xdurch BaXn"
If match(#a, #b, "X")
Debug "M A T C H !"
EndIf
Mit meiner Prozedur lässt sich das Wildcard übrigens auch austauschen.
