Hej. Enklast är väl att göra strängen till en array och loopa igenom den. Modifierat exempel från http://www.aspfaqs.com/aspfaqs/ShowFAQ.asp?FAQID=93 Ok, tack. Du kan ju skriva egna funktioner:Filtrera arrays
Jag har en sträng med tal (t ex "14,16,24") och vill veta om ett visst tal x finns med i listan.
Om jag använder InStr(Lista,x) eller Filter(Array,x) får jag träffar på ovanstående lista även då x är t ex 2 eller 6.
Någon som har några tips på ett enkelt (krångliga sätt kan man ju alltid hitta) sätt att lösa det? Jag saknar vektorfunktioner som t ex contains() i Java. Det hade ju räckt med en extra parameter i Filter-funktionen som anger om man vill matcha hela eller delar av sökordet.
Tacksam för hjälp om det finns någon!Sv: Filtrera arrays
bolFound returnerar True om SomeString hittas i SomeArray, annars returneras False
<code>
Dim iLoop, bolFound, sDinString
bolFound = False
sDinString="14,16,24"
SomeArray=Split(sDinString,",")
For iLoop = LBound(SomeArray) to UBound(SomeArray)
If CStr(SomeArray(iLoop)) = CStr(SomeString) then
bolFound = True
End If
Next
</code>Sv:Filtrera arrays
Hade bara tyckt att det varit snyggare och smartare om man hade kunnat skriva t ex
<code>If Contains(SomeArray,SomeString) Then bolFound = True</code>
Nåja, det får funka ändå.Sv: Filtrera arrays
Function Contains(Elements, Element)
Dim Value
Contains = False
For Each Value In Elements
If Value = Element Then
Contains = True
Exit For
End If
Next
End Function
Sedan använda den:
If Contains(SomeArray,SomeString) Then
'...
End If
Eller:
bolFound = Contains(SomeArray,SomeString)