Suppose I had a string
string1 = "498results should get"    Now I need to get only integer values from the string like 498.  Here I don't want to use list slicing because the integer values may increase like these examples:
string2 = "49867results should get"  string3 = "497543results should get"    So I want to get only integer values out from the string exactly in the same order.  I mean like 498,49867,497543 from string1,string2,string3 respectively.
Can anyone let me know how to do this in a one or two lines?
To find numbers from a given string in Python we can easily apply the isdigit() method. In Python the isdigit() method returns True if all the digit characters contain in the input string and this function extracts the digits from the string.
>>> import re >>> string1 = "498results should get" >>> int(re.search(r'\d+', string1).group()) 498   If there are multiple integers in the string:
>>> map(int, re.findall(r'\d+', string1)) [498] 
                        An answer taken from ChristopheD here: https://stackoverflow.com/a/2500023/1225603
r = "456results string789" s = ''.join(x for x in r if x.isdigit()) print int(s) 456789 
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With