Python从字符串解析int

时间:2016-03-14 16:56:04

标签: python

test1 = 'name1'
test2 = 'name2'
..
test3 = 'name45'
test4 = 'name1231231'

让我们说我有一串字符串以' name'开头。然后是一些长度。

如何解析字符串中的数字?

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

2 个答案:

答案 0 :(得分:14)

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

import string

for test in ['name1', 'name2', 'name45', 'name1231231', '123test']:
    print(int(test.strip(string.ascii_letters)))

给你:

1
2
45
1231231
123

string.ascii_letters为您提供包含所有大写和小写字母的字符串。 Python的strip()函数接受一个字符串,指定要删除的字符集,这种情况下是所有字母字符,因此只留下数字。

注意:这不适用于123name456等字符串。

答案 1 :(得分:2)

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

s = 'name123'
print int(s.replace('name',''))

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