Python 将包含整数的字符串转换为整数

Python 将包含整数的字符串转换为整数,python,regex,string,integer,Python,Regex,String,Integer,我正在尝试将包含在字符串中的整数(如“15m”)转换为整数 通过下面的代码,我可以实现我想要的。但是我想知道是否有一个更好的解决方案,或者一个我不知道的函数已经实现了这一点 s = "15m" s_result = "" for char in s: try: i = int(char) s_result = s_result + char except: pass result = int(s_result) print resu

我正在尝试将包含在字符串中的整数(如
“15m”
)转换为
整数

通过下面的代码,我可以实现我想要的。但是我想知道是否有一个更好的解决方案,或者一个我不知道的函数已经实现了这一点

s = "15m"
s_result = ""
for char in s:
    try:
        i = int(char)
        s_result = s_result + char
    except:
        pass
result = int(s_result)
print result
此代码将输出以下结果:

>>> 
15

也许没有这样的“更好”解决方案,但我希望看到其他解决方案,比如使用
regex
Maybe。

我发现了一个使用regex的好解决方案

import re
result = int(re.sub('[^0-9]','', s))
print result
其结果是:

>>> 
15

您还可以从行首匹配一个或多个数字
^\d+

import re
regex = r"^\d+"
test_str = "15m"
match = re.search(regex, test_str)

if match:
    print (int(match.group()))

回答得好!这里的结果仍然是字符串,因此您可能希望转换为整数您也可以使用
\d
int(re.sub('[^\d]','',s))