如何从 Python 中的字符串中获取整数值?

新手上路,请多包涵

假设我有一个字符串

string1 = "498results should get"

现在我只需要从字符串中获取整数值,例如 498 。在这里我不想使用 list slicing 因为整数值可能像这些例子一样增加:

 string2 = "49867results should get"
string3 = "497543results should get"

所以我只想以完全相同的顺序从字符串中获取整数值。我的意思是 498,49867,497543 string1,string2,string3

任何人都可以让我知道如何在一两行中做到这一点吗?

原文由 Shiva Krishna Bavandla 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 340
2 个回答
>>> import re
>>> string1 = "498results should get"
>>> int(re.search(r'\d+', string1).group())
498

如果字符串中有多个整数:

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

原文由 jamylak 发布,翻译遵循 CC BY-SA 3.0 许可协议

此处取自 ChristopheD 的答案: https ://stackoverflow.com/a/2500023/1225603

 r = "456results string789"
s = ''.join(x for x in r if x.isdigit())
print int(s)
456789

原文由 Sepero 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题