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
Sep 21, 2002

GetWordOccurrences - Number of occurrences of each word in a string

' Returns a Hashtable whose keys are the unique words in a source string
' and whose elements are the number of occurrences of each word
'
' Example:
'  
' Dim de As DictionaryEntry
' For Each de In GetWordOccurrences(sourceText)
'    Console.WriteLine("'{0}' = {1} time(s), de.Key, de.Value)
' Next
'
' Requires the following Imports
'   Imports System.Collections.Specialized

Function GetWordOccurrences(ByVal source As String) As Hashtable
    ' this holds the result - we need case insensitivity
    Dim res As Hashtable = CollectionsUtil.CreateCaseInsensitiveHashtable()

    ' find the first match
    Dim m As System.Text.RegularExpressions.Match
    m = System.Text.RegularExpressions.Regex.Match(source, "\w+")

    ' loop while a word is found
    Do While m.Success
        If res(m.Value) Is Nothing Then
            ' the word isn't there yet
            res.Add(m.Value, 1)
        Else
            ' increment the number of occurrences found so far
            res(m.Value) = CInt(res(m.Value)) + 1
        End If
        ' skip to next word
        m = m.NextMatch()
    Loop

    ' return the Hashtable
    Return res
End Function

Francesco Balena
 
Comment and Contribute

 

 

 

 

 


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

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date