[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