如何从这个输入字符串中提取数字

2024-09-24 06:29:44 发布

您现在位置:Python中文网/ 问答频道 /正文

如果我有一个输入字符串:

a = 'W1 W2 W3 W4 W5 W6 W7 W8 W9 W10 W11'

如何提取数字并存储在列表中?例如

numList = [1,2,3,4,5,6,7,8,9,10,11]

我试过这样做:

[int(t) for t in a if t.isdigit()]

这只适用于一位数,但不适用于两位数。你知道吗


Tags: 字符串列表数字w1w3w2w4numlist
2条回答

可以使用regex执行此操作:

import re
numList = re.findall(r'\d+', a)

可以按空格拆分,然后将每个项目的第一个字符切掉:

>>> [int(item[1:]) for item in a.split()]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]

如果适用(不知道输入字符串的来源和可能的变体),也可以从字符串中删除W并拆分:

>>> a = a.replace("W", "")
>>> [int(item) for item in a.split()]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]

相关问题 更多 >