scan example array ruby string methods

example - Encontrar ocurrencias de un personaje en una cadena con Ruby



scan ruby example (3)

Está buscando el método String.index() :

Devuelve el índice de la primera aparición de la subcadena o patrón dado (regexp) en str. Devuelve nil si no se encuentra. Si el segundo parámetro está presente, especifica la posición en la cadena para comenzar la búsqueda.

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

Estoy buscando el método Ruby (1.9 ...) que me puede ayudar a encontrar el número de ocurrencias de un personaje en una cadena. Estoy buscando todas las ocurrencias, no solo la primera.

Por ejemplo: "Melanie es un novato". Hay dos apariciones de la letra "a". ¿Cuál sería el método de Ruby que podría usar para encontrar esto?

He estado usando Ruby-doc.org como referencia y el método de escaneo en la clase String, en particular, me llamó la atención. Sin embargo, la redacción es un poco difícil para mí, así que realmente no entiendo el concepto de escaneo .


Este enlace de una pregunta anterior debería ayudar a escanear una cadena en Ruby

scan devuelve todas las ocurrencias de una cadena en una cadena como una matriz, por lo que

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

regresará

["a","a"]


Si solo quieres el número de a''s:

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