Python只打印字符串的整数

2024-09-29 19:35:00 发布

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

例如,假设程序中只有一行代码,这行代码是n = input(),假设用户输入了random123。当我打印n时,它只打印n或123的整数,怎么能这样呢?请注意,即使用户输入是random123random456,我也希望它能够工作。如果用户输入是“random123random456”,我希望它打印123456。你知道吗


Tags: 代码用户程序input整数random123random123random456
3条回答

可以将生成器表达式与对str.isdigit方法的调用一起用作筛选器:

''.join(c for c in n if c.isdigit())

另一种快速方法是用regular expressions从字符串中删除任何非数字字符

示例:

import re
test = "123string456"

result = re.sub('\D', '', test)

这里\D表示与0…9不同的任何字符 然后可以将其替换为空字符

一些结果:

>>> import re
>>> re.sub('\D', '', 'random123random456')
'123456'
>>> re.sub('\D', '', 'random123')
'123'

致以最诚挚的问候

test = "123string456"
output = str()
for each in test:
    try:
        n = int(each)
        output = "{}{}".format(output,n)
    except:
        pass

print(output)

相关问题 更多 >

    热门问题