I'm not sure about your specific needs, but it seems like you want to count cases regardless of the case, maybe also ignore characters like spaces, etc. Therefore, you may need something like this:
String initial = "I am really busy right now";
String cleaned = initial.replaceAll("\\s", "")
.toLowerCase();
Map<Character, Integer> map = new HashMap<Character, Integer>();
for (char character : cleaned.toCharArray()) {
Integer count = map.get(character);
count = (count!=null) ? count + 1 : 1;
map.put(character, count);
}
for (Map.Entry<Character, Integer> entry : map.entrySet()) {
System.out.println(entry.getKey() + " : " + entry.getValue());
}
Adjust the regex to suit your exact requirements (to skip punctuation, etc.).
source
share