Skip to content
Related Articles
Open in App
Not now

Related Articles

Python | Extract digits from given string

Improve Article
Save Article
  • Difficulty Level : Medium
  • Last Updated : 16 Aug, 2022
Improve Article
Save Article

While programming, sometimes, we just require a certain type of data and need to discard other. This type of problem is quite common in Data Science domain, and since Data Science uses Python worldwide, its important to know how to extract specific elements. This article discusses certain ways in which only digit can be extracted. Let’s discuss the same.

Method #1 : Using join() + isdigit() + filter()

This task can be performed using the combination of above functions. The filter function filters the digits detected by the isdigit function and join function performs the task of reconstruction of join function.  

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

Output : 

The original string : g1eeks4geeks5
The digits string is : 145

 

 Method #2 : Using re 

The regular expressions can also be used to perform this particular task. We can define the digit type requirement, using “\D”, and only digits are extracted from the 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))

Output : 

The original string : g1eeks4geeks5
The digits string is : 145

 

Method 3: Using loops:

This task is done by using for loop.

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

Method 4: Using recursion:

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

Output

145

Method 5: Using ord() method 

Python3




# Python3 code to demonstrate
# Extract digit string
s="g1eeks4geeks5"
#using for loop
for i in s:
    if ord(i) in range(48,58):
        print(i,end="")

Output

145

My Personal Notes arrow_drop_up
Related Articles

Start Your Coding Journey Now!