Python | Extraer números de una string

Muchas veces, mientras trabajamos con strings, nos encontramos con este problema en el que necesitamos obtener todas las ocurrencias numéricas. Este tipo de problema generalmente ocurre en la programación competitiva y también en el desarrollo web. Analicemos ciertas formas en que se puede resolver este problema.

Método n.º 1: uso de la comprensión de lista + isdigit()+split()
Este problema se puede resolver mediante el uso de la función de división para convertir una string en una lista y luego la comprensión de lista que puede ayudarnos a recorrer la lista y la función isdigit ayuda a obtener el dígito de una string.

# Python3 code to demonstrate
# getting numbers from string 
# using List comprehension + isdigit() +split()
  
# initializing string 
test_string = "There are 2 apples for 4 persons"
  
# printing original string 
print("The original string : " + test_string)
  
# using List comprehension + isdigit() +split()
# getting numbers from string 
res = [int(i) for i in test_string.split() if i.isdigit()]
  
# print result
print("The numbers list is : " + str(res))
Producción :

The original string : There are 2 apples for 4 persons
The numbers list is : [2, 4]

Método #2: Usandore.findall()
Este problema en particular también se puede resolver usando python regex, podemos usar la función findall para verificar las ocurrencias numéricas usando la string de expresión regular coincidente.

# Python3 code to demonstrate
# getting numbers from string 
# using re.findall()
import re
  
# initializing string 
test_string = "There are 2 apples for 4 persons"
  
# printing original string 
print("The original string : " + test_string)
  
# using re.findall()
# getting numbers from string 
temp = re.findall(r'\d+', test_string)
res = list(map(int, temp))
  
# print result
print("The numbers list is : " + str(res))
Producción :

The original string : There are 2 apples for 4 persons
The numbers list is : [2, 4]

Publicación traducida automáticamente

Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *