Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
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
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap