|
Language: VB7 Expertise: Intermediate
Oct 27, 2003
ArrayCountOccurrences - Count the occurrences of a string within the input array
' Return the number of occurrences found in the input array,
' with the specified search options
'
' Example:
' Dim arr As String() = {"this is a string for my test", "test number 2",
' "another String", "do you like this string?", "I like running tests"}
' Debug.WriteLine("Number of occurrences for ""string"": " & '
' ArrayCountOccurrences(arr, "string", 0, True, False)) ' => 2
Function ArrayCountOccurrences(ByVal arr As String(), _
ByVal search As String) As Integer
Return ArrayCountOccurrences(arr, search, arr.GetLowerBound(0))
End Function
' this overloaded version allows you to specify also the array's index to start
' from
Function ArrayCountOccurrences(ByVal arr As String(), ByVal search As String, _
ByVal startIndex As Integer) As Integer
Return ArrayCountOccurrences(arr, search, startIndex, True)
End Function
' this overloaded version allows you to specify also whether the search is case-
' sensitive
Function ArrayCountOccurrences(ByVal arr As String(), ByVal search As String, _
ByVal startIndex As Integer, ByVal caseSensitive As Boolean) As Integer
Return ArrayCountOccurrences(arr, search, startIndex, caseSensitive, True)
End Function
' this overloaded version allows you to specify also whether only exact matches
' are valid
Function ArrayCountOccurrences(ByVal arr As String(), ByVal search As String, _
ByVal startIndex As Integer, ByVal caseSensitive As Boolean, _
ByVal exactMatch As Boolean) As Integer
Dim count As Integer = 0
Dim i As Integer = startIndex - 1
' keep calling the ArrayIndexOf function with the startIndex of the last
' occurrence's index + 1, until it returns -1
Do
i = ArrayIndexOf(arr, search, i + 1, caseSensitive, exactMatch)
If i > -1 Then count += 1
Loop While i > -1
Return count
End Function
Marco Bellinaso
|