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?

 Accepted Answer

mode()

3 Comments

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))

Sign in to comment.

More Answers (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.

Categories

Community Treasure Hunt

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

Start Hunting!