[pyar] Busqueda de palabra en un texto

David Arch daviddanielarch en gmail.com
Sab Feb 28 17:17:25 ART 2015


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.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20150228/27b22e75/attachment.html>


More information about the pyar mailing list