【发布时间】:2016-12-22 19:49:24
【问题描述】:
使用 Python 3。
我有一个字符串,例如128kb/s、5mb/s,或者像42! 这样简单的字符串。数字字符和它的后缀之间没有空格,所以我不能直接调用int(text)。
我只想将128、5 和42 的值捕获为一个整数。
目前,我刚刚编写了一个辅助函数,它将所有数字累积成一个字符串并在第一个非数字字符处中断。
def read_int_from_string(text):
s = ""
val = 0
for c in text:
if (c >= '0') and (c <= '9'):
s += c
else:
break
if s:
val = int(s)
return val
上面的工作正常,但是有没有更pythonic的方法来做到这一点?
【问题讨论】:
标签: python python-3.x string-parsing