find most frequent characters in a string

I have a string and I want to find the most frequent characters that appear in it. Is there anyway to do this with matlab?

 Risposta accettata

Walter Roberson
Walter Roberson il 13 Dic 2011
mode()

3 Commenti

mode is only for numeric arguments. I'm working with a string
char(mode(double(str)))
David's code is fine. It could also be written more concisely as
char(mode(0+str))

Accedi per commentare.

Più risposte (1)

One way to get the commonest n characters, in descending order of frequency:
>> str = 'hello world';
>> n = 5; % number of characters to report
>> [~, c] = sort(hist(double(str), 0:255), 'descend');
>> f = char(c(1:n)-1)
f =
lo de
There may well be numerous better ways.

Categorie

Community Treasure Hunt

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

Start Hunting!

Translated by