[pyar] Busqueda de palabra en un texto
Gabriel Acosta
acostadariogabriel en gmail.com
Dom Mar 1 14:31:33 ART 2015
Muchas gracias David, me sirvió !
Un abrazo.
El 28/2/15, David Arch <daviddanielarch en gmail.com> escribió:
> En la respuesta anterior, solamente te da el offset relativo a la linea,
> para obtener un offset absoluto podes hacer algo asi:
>
> def ffind_with_linesl(text, word):
> offset = 0
> text_lines = text.splitlines()
> for line_number, line in enumerate(text_lines):
> if line_number != 0:
> offset = offset + len(text_lines[line_number-1]) + 1
> for index, end in ffind(line,word):
> yield index + offset, end + offset, line_number
>
> El 28 de febrero de 2015, 17:06, David Arch <daviddanielarch en gmail.com>
> escribió:
>
>> Podrias reusar la funcion inicial y hacer algo asi:
>>
>> def ffind_with_lines(text, word):
>> for line_number, line in enumerate(text.splitlines()):
>> for index, end in ffind(line,word):
>> yield index, end, line_number
>>
>> El 28 de febrero de 2015, 12:11, Gabriel Acosta <
>> acostadariogabriel en gmail.com> escribió:
>>
>> Buen día lista!
>>> Tengo este código:
>>>
>>> def ffind(text, word):
>>> i = 0
>>> while True:
>>> i = text.find(word, i)
>>> if i == -1:
>>> return
>>> end = i + len(word)
>>> yield i, end
>>> i += len(word)
>>>
>>> Tengo este generador que pasándole un texto y una palabra me devuelve
>>> el índice (inicio) e índice(final) de esa palabra en el texto, pero
>>> tambien necesito el número de línea en la que se encuentra, luego
>>> intenté esto:
>>>
>>> def ffind(text, word):
>>> index = 0
>>> line = 0
>>> for l in text.splitlines():
>>> index = l.find(word)
>>> if index != -1:
>>> end = index + len(word)
>>> yield index, end, line
>>> line += 1
>>>
>>> Me soluciona el problema del número de línea pero solo me busca una
>>> ocurrencia por línea, alguna solución a esto?.
>>>
>>> Un abrazo!
>>> --
>>> Gabo
>>> _______________________________________________
>>> pyar mailing list pyar en python.org.ar
>>> http://listas.python.org.ar/listinfo/pyar
>>>
>>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>>>
>>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>>> Argentina - http://www.usla.org.ar
>>>
>>
>>
>>
>> --
>> Saludos.
>> David.
>>
>
>
>
> --
> Saludos.
> David.
>
--
Gabo
More information about the pyar
mailing list