Estoy buscando el método Ruby (1.9 ...) que me puede ayudar a encontrar el número de apariciones de un carácter en una cadena. Estoy buscando todas las ocurrencias, no solo la primera.
Por ejemplo: "Melanie es una noob" Hay dos apariciones de la letra 'a'. ¿Cuál sería el método Ruby que podría usar para encontrar esto?
He estado usando Ruby-doc.org como referencia y el scan
método en el String: class
me llamó la atención. La redacción me resulta un poco difícil de entender, por lo que realmente no entiendo el concepto de scan
.
Editar: pude resolver esto usando scan
. Compartí en un video cómo lo logré.
Respuestas:
Si solo quiere el número de a:
Docs para obtener más detalles.
fuente
count
cuenta caracteres, no cadenas. "voyage.localhost.com" .count ('www.') es lo mismo que "voyage.localhost.com" .count ('w.') y como no hay w y dos puntos, el resultado es 2.Este enlace de una pregunta que se hizo anteriormente debería ayudar a escanear una cadena en Ruby
scan devuelve todas las apariciones de una cadena en una cadena como una matriz, por lo que
volverá
fuente
scan
También funciona con cadenas simples, por lo que también sescan('a')
pueden usarPude resolver esto pasando una cadena
scan
como se muestra en otra respuesta.Por ejemplo:
Salidas:
2
También pude extraer las ocurrencias usando escaneo y pasando una picadura en lugar de una expresión regular, que varía ligeramente de otra respuesta, pero fue útil para evitar la expresión regular.
Salidas:
Exploré estos métodos más a fondo en una pequeña guía de video que creé después de descubrirlo.
fuente