Поиск вхождения символа в строке с Ruby

Я ищу метод Ruby (1.9...), который может помочь мне найти количество вхождений символа в строке. Я ищу все вхождения, а не только первый.

Например: "Melanie - это noob" Есть два вхождения буквы "a". Какой метод Ruby я мог бы использовать, чтобы найти это?

Я использовал Ruby-doc.org в качестве ссылки, и метод сканирования в классе String, в частности, попался мне на глаза. Однако формулировка для меня немного сложна, поэтому я действительно не понимаю концепцию сканирования.

Ответ 1

Если вам просто нужно число a:

puts "Melanie is a noob".count('a')  #=> 2

Ответ 2

Эта ссылка из вопроса, который задан ранее, должен помочь сканирование строки в Ruby

scan возвращает все вхождения строки в строке в виде массива, поэтому

"Melanie is a noob".scan(/a/)

вернет

["a","a"]

Ответ 3

Вы ищете метод String.index():

Возвращает индекс первого появление данной подстроки или pattern (regexp) на стр. Возвращает ноль если не найдено. Если второй параметр присутствует, он определяет позицию в строке, чтобы начать поиск.

"hello".index('e')             #=> 1
"hello".index('lo')            #=> 3
"hello".index('a')             #=> nil
"hello".index(?e)              #=> 1
"hello".index(/[aeiou]/, -3)   #=> 4