Python | Extract numbers from a given string

Python Methods and Functions | Regular Expressions | String Variables

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

This task can be accomplished using a combination of the above functions ... The filter function filters the digits detected by the isdigit function, and the join function performs the task of restoring the join function.

# Python3 demo code
# Extract the numeric string
# using join () + isdigit () + filter ()

 
# initialization string

test_string = 'g1eeks4geeks5'

  
# printing original lines

print ( "The original string:" + test_string)

  
# using join () + isdigit () + filter ()
# Extract numeric 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
Regular expressions can also t be used to accomplish this specific task. We can define a requirement for a digit type using "/ D" and only digits are extracted from the string.

# Python3 demo code
# Extract the numeric string
# using re

import re

  
# initialization string

test_string = 'g1eeks4geeks5'

  
# print original lines

print ( "The original string:" + test_string)

  
# using re
# Extract numeric 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 




Get Solution for free from DataCamp guru