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

时间:2018-07-17 15:18:22

标签: python regex string integer

我正在尝试将包含在"15m"之类的字符串中的整数转换为integer

使用下面的代码,我可以实现我想要的。但是我想知道是否有更好的解决方案,或者我不知道哪个函数已经实现了此功能。

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

2 个答案:

答案 0 :(得分:4)

我发现使用正则表达式是一个很好的解决方案。

import re
result = int(re.sub('[^0-9]','', s))
print result

这将导致:

>>> 
15

答案 1 :(得分:1)

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

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

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