问题描述
假设我有一个字符串
string1 = "498results should get"
现在我只需要从像 498 这样的字符串中获取整数值.在这里我不想使用 list slicing 因为整数值可能会像这些示例一样增加:
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"
所以我只想以完全相同的顺序从字符串中获取整数值.我的意思是像 498,49867,497543 分别来自 string1,string2,string3.
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?
推荐答案
>>> import re >>> string1 = "498results should get" >>> int(re.search(r'd+', string1).group()) 498
如果字符串中有多个整数:
If there are multiple integers in the string:
>>> map(int, re.findall(r'd+', string1)) [498]