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))