How to find the count of a word in a string?
If you want to find the count of an individual word, just use count
:
input_string.count("Hello")
Use collections.Counter
and split()
to tally up all the words:
from collections import Counter
words = input_string.split()
wordCount = Counter(words)
from collections import *
import re
Counter(re.findall(r"[\w']+", text.lower()))
Using re.findall
is more versatile than split
, because otherwise you cannot take into account contractions such as "don't" and "I'll", etc.
Demo (using your example):
>>> countWords("Hello I am going to I with hello am")
Counter({'i': 2, 'am': 2, 'hello': 2, 'to': 1, 'going': 1, 'with': 1})
If you expect to be making many of these queries, this will only do O(N) work once, rather than O(N*#queries) work.