例子:
import re
rx = re.compile("{0-9}")
Var1 =bla bla bla 54467
Var2= rx.findall(Var1)
number = ''.join(Var2)
Run Code Online (Sandbox Code Playgroud)
我的问题是如何将数字变量转换为 int,我尝试使用 int() 这样做,但出现错误。或者有没有办法用另一种方法创建像 int 这样的变量?
不要为此使用正则表达式。 filter()更容易和更快:
>>> s = "bla bla bla 54467 bla"
>>> int(filter(str.isdigit, s))
54467
Run Code Online (Sandbox Code Playgroud)
上面的代码将字符串中的所有数字合并为一个字符串。如果你不想要这个,请使用
>>> s = "bla 1223 bla 54467 bla"
>>> map(int, filter(str.isdigit, s.split()))
[1223, 54467]
Run Code Online (Sandbox Code Playgroud)
适用于 Python 3.x 的相同配方是:
>>> s = "bla bla bla 54467 bla"
>>> int("".join(filter(str.isdigit, s)))
54467
>>> s = "bla 1223 bla 54467 bla"
>>> list(map(int, filter(str.isdigit, s.split())))
[1223, 54467]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
313 次 |
| 最近记录: |