Word counting in a loop

I have a while loop running where I bring in a sentence on every loop
Sentence(i) = ('some string of words');
I can split the words and count using the unique() function but...
I want to keep adding to a table that contains each unique word and the number of times it repeats
so it looks like...
while
Sentence(i) = ('some string of words that changes each iteration');
Words = splitlines(Sentence(i))
PL = (Words== "");
Words(PL) = [];
AnalysisWords = strings(0);
for i = 1:length(Words)
AnalysisWords = [AnalysisWords ; split(Words(i))];
end
AnalysisWords = lower(AnalysisWords);
[words,N,idx] = unique(AnalysisWords);
end
Im not sure how to turn this into a running list

1 Comment

Use unique and histcI to count the number of times the string repeated.

Sign in to comment.

 Accepted Answer

Gaurav Garg
Gaurav Garg on 12 Feb 2021

0 votes

Hi,
You can look at the answer here where unique and hist functions have been used.
Rather than using hist function, you can use a map container, where words are stored as keys and thei number of occurences is stored as values.

More Answers (0)

Categories

Products

Release

R2020a

Asked:

on 9 Feb 2021

Answered:

on 12 Feb 2021

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!