javastring

How do I count the number of occurrences of a char in a String?


I have the string

a.b.c.d

I want to count the occurrences of '.' in an idiomatic way, preferably a one-liner.

(Previously I had expressed this constraint as "without a loop", in case you're wondering why everyone's trying to answer without using a loop).


Solution

  • My 'idiomatic one-liner' for this is:

    int count = StringUtils.countMatches("a.b.c.d", ".");
    

    Why write it yourself when it's already in commons lang?

    Spring Framework's oneliner for this is:

    int occurance = StringUtils.countOccurrencesOf("a.b.c.d", ".");