test1 = 'name1'
test2 = 'name2'
..
test3 = 'name45'
test4 = 'name1231231'
让我们说我有一串字符串以' name'开头。然后是一些长度。
如何解析字符串中的数字?
regex
是唯一的方法,还是有内置模块可以完成此任务?
答案 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:])