here's my example using regex + LINQ. it also uses an rtb, a button + a textbox (txtFind):

vb Code:
  1. Imports System.Text.RegularExpressions
  2.  
  3. Public Class Form1
  4.  
  5.     Private Structure word
  6.         Dim count As Integer
  7.         Dim percentage As Decimal
  8.     End Structure
  9.  
  10.     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  11.         Dim words() As String = Regex.Split(RichTextBox1.Text, "\s|\,\s?|\.\s?|\;\s?|\:\s?|$")
  12.         Dim wordDictionary As Dictionary(Of String, word) = (From w In words.Where(Function(s) s.Trim <> "").Distinct _
  13.                                                              Select New With { _
  14.                                                              .word = w, _
  15.                                                              .count = words.Count(Function(s) w.ToLower = s.ToLower), _
  16.                                                              .percentage = (.count * 100) / words.Where(Function(s) s.Trim <> "").Count}). _
  17.                                                              ToDictionary(Function(kvp) kvp.word, Function(kvp) New word With _
  18.                                                                                                       {.count = kvp.count, .percentage = kvp.percentage})
  19.         If wordDictionary.Keys.Contains(txtFind.Text) Then _
  20.             MsgBox(String.Format("Word: {0}, occurences {1}%", txtFind.Text, wordDictionary(txtFind.Text).percentage))
  21.     End Sub
  22.  
  23. End Class