我有一个字符串,看起来像这样:
'< 5s' or '< 0.5s'
我正在尝试从字符串中提取“持续时间”。我已经有这个了:
a = '< 5s'
b = int(list(filter(str.isdigit, a))[0])
print(b)
但是如果我使用'< 0.5s'
,它会返回0
。如何在数字中包含,
?
发布于 2019-07-09 22:48:36
使用简单的正则表达式:
import re
s = '< 0.5s'
dur = re.search(r'-?\d+(\.\d+)?', s).group()
print(dur) # 0.5
发布于 2019-07-09 22:53:34
如果您确定字符串的格式始终与示例中所示完全相同,那么一个简单的b = float(a[2:-1])
就可以完成此任务。
发布于 2019-07-09 22:49:11
import re
b = re.sub("[^\d\.]", "", a)
https://stackoverflow.com/questions/56955108
复制相似问题