Python | Extraer dígitos de una string dada

Mientras programamos, a veces, solo requerimos un cierto tipo de datos y necesitamos descartar otros. Este tipo de problema es bastante común en el dominio de Data Science, y dado que Data Science usa Python en todo el mundo, es importante saber cómo extraer elementos específicos. Este artículo analiza ciertas formas en las que solo se pueden extraer dígitos. Hablemos de lo mismo.
Método #1: Usar join() + isdigit() + filter()
Esta tarea se puede realizar usando la combinación de las funciones anteriores. La función de filtro filtra los dígitos detectados por la función isdigit y la función de unión realiza la tarea de reconstrucción de la función de unión. 
 

Python3

# Python3 code to demonstrate
# Extract digit string
# using join() + isdigit() + filter()
 
# initializing string
test_string = 'g1eeks4geeks5'
 
# printing original strings 
print("The original string : " + test_string)
 
# using join() + isdigit() + filter()
# Extract digit string
res = ''.join(filter(lambda i: i.isdigit(), test_string))
     
# print result
print("The digits string is : " + str(res))
Producción : 

The original string : g1eeks4geeks5
The digits string is : 145

 

 
Método #2: Usar re 
Las expresiones regulares también se pueden usar para realizar esta tarea en particular. Podemos definir el requisito de tipo de dígito, usando «\D», y solo los dígitos se extraen de la string.
 

Python3

# Python3 code to demonstrate
# Extract digit string
# using re
import re
 
# initializing string
test_string = 'g1eeks4geeks5'
 
# printing original strings 
print("The original string : " + test_string)
 
# using re
# Extract digit string
res = re.sub("\D", "", test_string)
     
# print result
print("The digits string is : " + str(res))
Producción : 

The original string : g1eeks4geeks5
The digits string is : 145

 

Método 3: Uso de bucles:

Esta tarea se realiza mediante el bucle for.

Python3

# Python3 code to demonstrate
# Extract digit string
s="g1eeks4geeks5"
#using for loop
for i in s:
  # using isdigit() function
  if(i.isdigit()):
    print(i,end="")
Output:
The original string : g1eeks4geeks5
The digits string is : 145

Método 4: Usando la recursividad:

Python3

# Python3 code to
# Extract digits from string
#using recursion
 
#the function returns digits from string
def ExtractDigits(s,i=0):
    #base case
    if i==len(s):
        return
    #check if s[i] is digit or not
    if s[i].isdigit():
        # if it is digit
        #then print s[i]
        print(s[i], end='')
    i+=1#Increment i
    #calling function recursively
    ExtractDigits(s,i)
#driver code
s="g1eeks4geeks5"
#function call
ExtractDigits(s)
#this code is contributed by Shivesh Kumar Dwivedi
Producción

145

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 *