string = "Jack and Jill went up the hill to fetch a pail of water. Jack fell down and broke his crown. And Jill came tumbling after. "
d = string.match(/(jack|jill)/i) # -> MatchData "Jill" 1:"Jill"
d.size # -> 1
Esto solo coincide con la primera aparición que parece.
string.scan
hace el trabajo parcialmente pero no dice nada sobre el índice del patrón coincidente.Cómo obtener índices de todas las ocurrencias de un patrón en una cadena
¿Cómo obtengo una lista de todas las instancias coincidentes del patrón y sus índices (posiciones)?
bonita Gracias mucho –
Aquí está una modificación si usted quiere poner sólo las ubicaciones de Jack en una matriz loc_array = Array.new string = "Jack y Jill subieron la colina en busca de un cubo de agua. Jack se cayó y se rompió la corona. Y Jill vino dando tumbos. " string.to_enum (: scan,/(jack)/i) .map do | m, | loc_array.push [$' .size] final – emery