如果我有一个字符串,如:'2 5 3 $ # 2 ^ 1 4 !'
如何将其格式化为:'2.0 5.0 3.0 $ # 2.0 ^ 1.0 4.0 !'
?
做这件事的最佳方式是什么?
拆分字符串,检查每个部分是否为数字-如果是,则将其转换为浮动
in_string = '2 5 3 $ # 2 ^ 1 4 !'
out_string = ' '.join(str(float(x)) if x.isnumeric() else x for x in in_string.split())
print(out_string)
输出:
2.0 5.0 3.0 $ # 2.0 ^ 1.0 4.0 !
一种方法可以是使用re.sub
并反向引用匹配项:
import re
s = '2 5 3 $ # 2 ^ 1 4 !'
re.sub(r'(d)', r'1.0', s)
# '2.0 5.0 3.0 $ # 2.0 ^ 1.0 4.0 !'