1 votos

Buscar numero float/int en una cadena

Buenas tardes, la cuestion es que debo analizar un archivo grande, el programa analiza linea por linea este y en cada linea, cuando encuentra una palabra clave extrae un valor, esto ya lo hace el programa, mi duda viene ya que hay una valor que se debe sumar cada vez que lo encuentra, sin embargo no se encuentra en la misma posicion nunca.

Cabe destacar que es un archivo html y el valor puedes ser float o int.

Saludos y gracias de antemano!

1voto

aFrost Puntos 110

Puedes encontrar el float en un string mediante regex

>>> import re
>>> re.findall(r"[-+]?\d*\.\d+|\d+", string)

Resultado

['-13.2', '14.2', '3']

Fuente

0 votos

Muchas gracias, estoy probando ya la funcion, sin embargo me nace la duda sobre que signifca esta parte del codigo. r"[-+]?\d*\.\d+|\d+" Me parece que es unicode sin embargo no estoy seguro de esto. Cabe destacar que el archivo que lee es un html, por ende tiene id, etiquetas,etc Gracias

0 votos

Es una expresión regular, busca numeros negativos o positivos (lo del mas y el menos, aunque la interrogación indica que no tiene por que estar), cualquier cantidad de números (\d*), un punto (\.) y cualquier cantidad de números que serán los décimales

0 votos

Gracias ya me lo trae como una lista, como hago ahora para extraer el valor de esta. Gracias

0 votos

lista[0] debería valerte para obtener el primer valor

0 votos

Muchas gracias!

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by: