如何在Python中的字符串中找到一个数字?

use*_*492 11 python string

我有一个名为FILE-1.txt或FILE-340.txt的文件.我希望能够从文件名中获取数字.我发现我可以使用

numbers = re.findall(r'\d+', '%s' %(filename))
Run Code Online (Sandbox Code Playgroud)

得到一个包含数字的列表,并使用数字[0]将数字本身作为一个字符串...但如果我知道它只是一个数字,它似乎是迂回的,并且不必要制作一个列表来获取它.还有另一种方法吗?


编辑:谢谢!我想我现在有另一个问题.而不是获取字符串,我如何获得整数?

And*_*ark 18

使用search而不是findall:

number = re.search(r'\d+', filename).group()
Run Code Online (Sandbox Code Playgroud)

或者:

number = filter(str.isdigit, filename)
Run Code Online (Sandbox Code Playgroud)