Ruby Forum Rails-ES > buscar y contar ocurrencias en un String

Posted by Fernando Guillen (Guest)
on 08.05.2008 19:23
(Received via mailing list)
Llevo una hora volvíendome loco.

Seguro que no sé bien como preguntarle a google.

El caso es que no sé como contar el número de dígitos en un String.

Estoy probando con expresiones regulares y split.. pero nada

He probado:

FUNCIONA:
irb(main):015:0> "hola adio s4s4".split(/\d/).size
=> 2

NO FUNCIONA:
irb(main):016:0> "hola adio s4s44".split(/\d/).size
=> 2

NO FUNCIONA
irb(main):023:0> "hola adi4o s4s44".split(/\d{1}/).size
=> 3

Plis.. un empuje

Thanks
f.
Posted by Raul Murciano (raul)
on 08.05.2008 19:32
(Received via mailing list)
2008/5/8 Fernando Guillen <fguillen.mail@gmail.com>:
> Llevo una hora volvíendome loco.
>
> Seguro que no sé bien como preguntarle a google.
>
> El caso es que no sé como contar el número de dígitos en un String.
>
> Estoy probando con expresiones regulares y split.. pero nada

Ibas bien encaminado :) String#scan devuelve un array con las
coincidencias de la regexp que encuentra:

>> "hola adi4o s4s44".scan(/\d{1}/)
=> ["4", "4", "4", "4"]

así que aplicando ahí el size:

>> "hola adi4o s4s44".scan(/\d{1}/).size
=> 4
Posted by Fernando Guillen (Guest)
on 08.05.2008 19:35
(Received via mailing list)
2008/5/8 Raul Murciano <raul@murciano.net>:
> coincidencias de la regexp que encuentra:
>
>>> "hola adi4o s4s44".scan(/\d{1}/)
> => ["4", "4", "4", "4"]
>
> así que aplicando ahí el size:
>
>>> "hola adi4o s4s44".scan(/\d{1}/).size
> => 4

Genial

:D