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.
