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))
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))
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