Seite 1 von 1
Variable mit einer String-Menge vergleichen
Verfasst: 24.01.2008 19:16
von ThoPie
Hallo,
ich muss bei einer String-Variable vergleichen, ob sie in einer Menge (ca. 50) von Strings vorkommt. Wie macht Ihr sowas? (Array, DataSection, LinkedList).
Ich hätte am Ende gerne so etwas ähnliches:
If Variable In{StringMenge} Then ...
Vielen Dank.
Verfasst: 24.01.2008 19:29
von Fluid Byte
Naja, Arrays für eine fixe Menge von Strings und LL für eine dynamische Anzahl. Dann mit FindString() durschsuchen. Wenns sehr schnell gehen muss kannst du auch anstatt FindString() zu benutzen direkt den Speicher durchsuchen.
Verfasst: 24.01.2008 22:03
von N00B
Ich glaub du suchst so was oder ?
Code: Alles auswählen
newlist durchsuchliste.s()
such_ich$ = "irgendwas"
foreach durchsuchliste.s()
bla = findstring(durchsuchliste.s(),such_ich$,1)
if bla <> 0
Debug such_ich$+" in "durchsuchliste.s() gefunden"
else
EndIf
next
Verfasst: 24.01.2008 23:10
von AND51
Und wenn du das gefunden hast, solltest du innerhalb der If-Abfrage auf jeden Fall noch ein Break reinpacken, denn dann bricht er ab, wenn er was gefunden hat. Ohne Break durchsucht er immer die gesamte Liste, auch wenn er gleich am Anfang schon das gefunden hat, was er sucht.
Dieser Befehl spart dir also etwas Zeit.
Verfasst: 25.01.2008 13:16
von bobobo
könnte das auch so gehen, dass man die wertelist per blank abgetrennt
addiert in einen dann ziemlich dicken string und auf den z.b. die
findstring-funktion loslässt?
Code: Alles auswählen
haystack$=" wert1 wert2 wert3 wert4 wert3 wert5 ... wert50 "
needle$=" wert3 "
Debug "Finde "+Str(CountString(haystack$,needle$))+" Stück "+needle$
Debug "den ersten an Position "+Str(FindString(haystack$,needle$,0))