Accept dashes and apostrophes as parts of words.
class String def word_count frequencies = Hash.new(0) downcase.scan(/[-'\w]+/) { |word, ignore| frequencies[word] += 1 } return frequencies end end %{"this is a test."}.word_count