Clear Filters
Clear Filters

find most frequent characters in a string

1 view (last 30 days)
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

Walter Roberson
Walter Roberson on 13 Dec 2011
mode()
  3 Comments
Walter Roberson
Walter Roberson on 13 Dec 2011
David's code is fine. It could also be written more concisely as
char(mode(0+str))

Sign in to comment.

More Answers (1)

David Young
David Young on 13 Dec 2011
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.

Community Treasure Hunt

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

Start Hunting!