devxlogo

Check whether a string array contains an item (without a loop)

Check whether a string array contains an item (without a loop)

To determine whether a String array contains a given item it seems that you can’t avoid writing a loop. However, you can do it with just one line of code, using the new VB6 Join function:

' ARR is an array of string, SEARCH is the value to be searchedFound = InStr(1, vbNullChar & Join(arr, vbNullChar) & vbNullChar, _    vbNullChar & search & vbNullChar) > 0

Note that the above code assumes that no item in the array contains the Chr$(0) character.

There are several variations of the theme. For example you can check whether any item in the String array begins with the searched substring using this code:

Found = InStr(1, vbNullChar & Join(arr, vbNullChar) , vbNullChar & search) > 0

And you can check whether the searched substring appears anywhere in any element of the String array:

Found = InStr(1, Join(arr, vbNullChar) , search) > 0

devx-admin

Share the Post: