 # Python | Extract numbers from string

Method # 1: Using comprehension list + ` isdigit () ` + `split()`
This problem can be solved with the split functions to convert the string to a list, and then a list comprehension which can help us iterate over the list and the isdigit function helps to deduce a digit from a string.

` `

``` # Python3 code for demos # getting numbers from a string # using comprehension list + isdigit () + split ()   # initialization string test_string = "There are 2 apples for 4 persons"   # print original line print ( "The original string: " + test_string)    # using comprehension list + isdigit () + split () # getting numbers from a string res = [ int (i) for i in test_string.split () if i.isdigit ()]   # print result print ( "The numbers list i s: " + str (res)) ```

` ` Output:

` The original string: There are 2 apples for 4 persons The numbers list is: [2, 4] `

Method # 2: Using `re.findall()`
This particular problem can also be solved with Python regex, we can use findall function to check for numeric occurrences using the corresponding regex string.

Output:

``` The original string: There are 2 apples for 4 persons The numbers list is: [2, 4] Best Python tutorials books for beginners and professionals

Become an author and write for us

Architect
Development
For dummies
Machine Learning
Analysis
Loops
Counters

NumPy
NLP
Regular Expressions
File Handling
Arrays
String Variables
Knowledge Database

X
Submit new EBook

\$(".modal_galery").owlCarousel({
items: 1,
itemsCustom: false,
itemsDesktop: [1300, 1],
itemsDesktopSmall: [960, 1],
itemsTablet: [768, 1],
itemsTabletSmall: false,
itemsMobile: [479, 1],
singleItem: false,
itemsScaleUp: false,
pagination: false,
rewindNav: true,
autoPlay: true,
stopOnHover: true,
 ` # Python3 demo code ` ` # getting numbers from a string ` ` # using re.findall () ` ` import ` ` re ` ` `  ` # initialization string ` ` test_string ` ` = ` ` "There are 2 apples for 4 persons" `   ` # print original string ` ` print ` ` (` ` "The original string: "` ` + ` ` test_string) ` ` `  ` # using re.findall () ` ` # getting numbers from a string ` ` temp ` ` = ` ` re.findall (r ` ` `d +` ` `, test_string) ` ` res ` ` = ` ` list ` ` (` ` map ` ` (` ` int ` `, temp)) `   ` # print result ` ` print ` ` (` ` "The numbers list is:" ` ` + ` ` str ` ` (res)) `