test1 = 'name1' test2 = 'name2' .. test3 = 'name45' test4 = 'name1231231'
假设我有一堆字符串,这些字符串以“ name”开头,后跟任意长度的数字。
如何解析字符串中的数字?
是regex唯一的方法还是有内置的模块可以完成此任务?
regex
在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()函数采用一个字符串,该字符串指定要删除的字符集,在这种情况下,所有字符都是字母字符,因此仅保留了数字。
string.ascii_letters
strip()
注意:这不适用于诸如的字符串123name456。
123name456