Ответ 1
Если вам просто нужно число a:
puts "Melanie is a noob".count('a') #=> 2
Я ищу метод Ruby (1.9...), который может помочь мне найти количество вхождений символа в строке. Я ищу все вхождения, а не только первый.
Например: "Melanie - это noob" Есть два вхождения буквы "a". Какой метод Ruby я мог бы использовать, чтобы найти это?
Я использовал Ruby-doc.org в качестве ссылки, и метод сканирования в классе String, в частности, попался мне на глаза. Однако формулировка для меня немного сложна, поэтому я действительно не понимаю концепцию сканирования.
Если вам просто нужно число a:
puts "Melanie is a noob".count('a') #=> 2
Эта ссылка из вопроса, который задан ранее, должен помочь сканирование строки в Ruby
scan возвращает все вхождения строки в строке в виде массива, поэтому
"Melanie is a noob".scan(/a/)
вернет
["a","a"]
Вы ищете метод 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