小编典典

Python从字符串解析int

python

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

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

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

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


阅读 144

收藏
2021-01-20

共1个答案

小编典典

在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

2021-01-20