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.SpecializedFunction 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 resEnd Function

Share the Post:
Share on facebook
Share on twitter
Share on linkedin

Overview

Recent Articles: