Character Frequency of String
Show older comments
I'm trying to figure out how to get groups and group counts for a string.
For example, if you input
string = "SunnyDay"
the output would be:
S: 1
U: 1
N: 2
Y: 2
D: 1
A: 1
Answers (2)
Using the new dictionary in 2022b and the on-point example from this blog post
str = "SunnyDay";
chr = char(str);
d = dictionary(string.empty,double.empty);
for c = chr
if isKey(d,c) % If this char exists in the dictionary
d(c) = d(c) +1; % Increment the value associated with that char by 1.
else
d(c) = 1; % Initialise a new char in the dictionary with the value set to 1.
end
end
d
I tried making the dictionary key a char, but that resulted in an error.
Sayan
on 25 Nov 2022
0 votes
str = "SunnyDay";
chr = char(str);
d = dictionary(string.empty,double.empty);
for c = chr
if isKey(d,c) % If this char exists in the dictionary
d(c) = d(c) +1; % Increment the value associated with that char by 1.
else
d(c) = 1; % Initialise a new char in the dictionary with the value set to 1.
end
end
Categories
Find more on Scope Variables and Generate Names in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!