Python基础(28) - 如何使用正则表达式格式化字符串中的浮点数

subn函数的使用

用正则表达式查找字符串中所有的浮点数,并格式化浮点数,保留小数点后面的2位,最后将格式化后的浮点数替换原来的浮点数,同时输出替换后的结果和替换的次数。

  • 显示字符串中的浮点数
    1.使用subn来进行替换浮点数
    2.使用正则表达式 -?\d+(.\d+)?
import re


s = 'Pi is 3.1415926, try is 2.3232, my is 0.352'

m = re.subn('-?\d+(\.\d+)?','$',s)
print(m)
hexianling.png
  • 输出字符串和替换的个数
  1. subn返回类型是元组,第一个元素是返回后的结果
  2. 第二个原始则是返回被替换的次数
import re


s = 'Pi is 3.1415926, try is 2.3232, my is 0.352'

m = re.subn('-?\d+(\.\d+)?','$',s)
print(m)
print('the string is: ',m[0])
print('the number is: ',m[1])
hexianling.png
  • 如何替换原来的浮点数
def fun(matched):
    return format(float(matched.group()),'0.2f')

总结

sub和subn都是用于替换字符串中所有符合条件的子字符串,但是sub函数只返回替换后的结果,而subn返回一个元组,元组第一个元素是返回替换后的结果,第二个元素则是返回替换的次数

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容