Word counting in a loop

2 Ansichten (letzte 30 Tage)
Xymbu
Xymbu am 9 Feb. 2021
Beantwortet: Gaurav Garg am 12 Feb. 2021
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 Kommentar
KSSV
KSSV am 9 Feb. 2021
Use unique and histcI to count the number of times the string repeated.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Gaurav Garg
Gaurav Garg am 12 Feb. 2021
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.

Weitere Antworten (0)

Kategorien

Mehr zu Characters and Strings finden Sie in Help Center und File Exchange

Produkte


Version

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by