Search code examples
rubystringmethods

Finding # occurrences of a character in a string in Ruby


I'm looking for the Ruby method (1.9...) that can help me find the number of occurrences of a character in a string. I'm looking for all occurrences, not just the first one.

For example: "Melanie is a noob" There are two occurrences of the letter 'a'. What would be the Ruby method I could use in order to find this?

I've been using Ruby-doc.org as a reference and the scan method in the String: class caught my eye. The wording is a bit difficult for me to understand, so I don't really grasp the concept of scan.

Edit: I was able to solve this using scan. I shared a few solutions in a video and article sharing how to do it.


Solution

  • I was able to solve this by passing a string through scan as shown in another answer.

    For example:

    string = 'This is an example'
    puts string.count('e')
    

    Outputs:

    2
    

    I was also able to pull the occurrences by using scan and passing a sting through instead of regex which varies slightly from another answer but was helpful in order to avoid regex.

    string = 'This is an example'
    puts string.scan('e')
    

    Outputs:

    ['e','e']
    

    I explored these methods further in a video I created after I figured it out.