pythonstringinteger

How to get integer values from a string in Python?


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?


Solution

  • >>> import re
    >>> string1 = "498results should get"
    >>> int(re.search(r'\d+', string1).group())
    498
    

    If there are multiple integers in the string:

    >>> list(map(int, re.findall(r'\d+', string1)))
    [498]