How to extract numbers from a string in Python
In this Python tutorial, we gonna learn how to extract numbers from string.
A string is one of the main data types used in Python. It includes characters enclosed within ” “( double apostrophe) or ‘ ‘(inverted commas). It has various in-built methods to modify, delete or perform various other operations on the string.
Go to the python IDLE and type
to get the various inbuilt functions or methods.
This program emphasizes on how to extract numbers from a string in python. The main aim here is achieved by splitting the string and inserting into a list, Traversal of this list and then further using the isdigit() function( Returns boolean if there is a number) to confirm if the value is a number, Printing the digit if True.
Code: extract numbers from a string in Python
def numberfromstring(string_a): n=list(string_a) for i in n: if i.isdigit(): k=int(i) print(k) A="h1egg2gh3" numberfromstring(A)
1 2 3
We declared a user-defined function “numberfromstring” with parameter “string_a” to extract numbers from a given string. The parameter “string_a” stores the string on which the operation is to be performed.
- The string is then split and typecasted to a list and stored in the memory location allocated to variable n. for eg: if the string is “H1e2g3hh3”, the list n would be [‘H’,’1′,’e’,’2′,’g’,’3′,’h’,’h’,’3′]
- Now using the for loop, we are traversing the list n and using the if condition to find the numbers in the string which are to be extracted.
- The condition used is i.isdigit(). This condition returns True if i, on traversal turns out to be a digit. Only if the condition is true, the following statements will be executed.
- Then i is typecasted to an integer and stored in the memory space allocated to the variable k.
- Then k is printed when the function is called.