Python从字符串解析int

Python从字符串解析int,python,Python,假设我有一堆字符串,它们以“name”开头,后跟任意长度的数字 如何解析字符串中的数字 regex是完成此任务的唯一方法还是有内置模块?在Python 3中,您可以执行以下操作: test1 = 'name1' test2 = 'name2' .. test3 = 'name45' test4 = 'name1231231' 给你: import string for test in ['name1', 'name2', 'name45', 'name1231231', '123test']

假设我有一堆字符串,它们以“name”开头,后跟任意长度的数字

如何解析字符串中的数字


regex
是完成此任务的唯一方法还是有内置模块?

在Python 3中,您可以执行以下操作:

test1 = 'name1'
test2 = 'name2'
..
test3 = 'name45'
test4 = 'name1231231'
给你:

import string

for test in ['name1', 'name2', 'name45', 'name1231231', '123test']:
    print(int(test.strip(string.ascii_letters)))
string.ascii_字母
提供一个包含所有大小写字母的字符串。Python函数接受一个字符串,该字符串指定要删除的字符集,在本例中,这些字符都是alpha字符,因此只留下数字


注意:这不适用于字符串,例如
123name456

如果您知道前缀是
name
,则可以仅删除该字符串,也可以跳过前四个字母,如下所示:

1
2
45
1231231
123

我没有投否决票,但也许你的帖子被否决了,因为其中一个循环覆盖了所有的帖子,替换
name
,并对它们投
int()
float()
。int\u testi=int(testi[4:len(testi)]就可以了。这很清楚,而且通过regex进行了研究,它怎么没用?这对其他人很有帮助,如果您有这样的字符串
test=['name1','name2','name123125']
您可以得到这样的整数:
ints=[int(n[4:])表示测试中的n]
s = 'name123'
print int(s.replace('name',''))

s = 'name123'
print int(s[4:])