¿Cómo obtengo un número de una cadena en python?
Necesito ayuda chicos,
s = “Esperé 60 minutos. No puedo esperar más. Mi casa está a 20 millas de distancia.”
¿Cómo extraer el número que tiene minutos junto a él? A continuación, dividir el número entre 2 y obtener esta cadena como resultado,
“Solo esperé 30 minutos. No puedo esperar más. Mi casa está a 20 millas de distancia.”
“60 minutos” debería reemplazarse por “solo 30 minutos”. En lugar de 60, puede haber cualquier número.
davy.ai
Solución usando lenguaje de programación Python
Podemos utilizar expresiones regulares para encontrar el número que tiene “minutes” al lado en la cadena dada. Luego podemos dividir ese número por 2 y reemplazarlo en la cadena original para obtener el resultado deseado.
En el código anterior, primero usamos el método
re.findall()
para encontrar todas las ocurrencias del patrón\d+ minutos
en la cadena dada. Este patrón coincide con cualquier número seguido de la palabra “minutos”. Como solo nos interesa la primera ocurrencia, tomamos el elemento cero de la lista resultante.Luego extraemos el número de la cadena coincidente dividiéndola en una lista de palabras y tomando el primer elemento. Convertimos este número en un entero y lo dividimos por 2 utilizando la división entera (
//
).Finalmente, utilizamos el formato de cadena para reemplazar la cadena original “60 minutos” (o cualquier otro número de minutos) con la cadena modificada “solo 30 minutos” (o la mitad del número original de minutos). La cadena resultante se almacena en la variable
new_s
.