re.sub()返回替换后的字符串,re.subn()返回(新字符串, 替换次数)元组;前者适合只需结果的场景,后者适用于需统计或校验替换数量的情况。

Python正则替换中,re.sub() 和 re.subn() 都用于替换匹配内容,但返回结果不同:前者只返回替换后的字符串,后者额外返回替换次数。
它执行替换后,只返回处理完成的字符串,适合你只关心“最终文本长什么样”的场景。
re.sub(pattern, repl, string, count=0, flags=0)
count 参数可限制最多替换几次(默认全部)例如:
import re<br>text = "价格:100元,折扣价:85元"<br>result = re.sub(r"\d+元", "XX元", text)<br>print(result) # 输出:价格:XX元,折扣价:XX元
它返回一个二元组 (new_string, number_of_subs),第二个值是实际发生的替换次数。
立即学习“Python免费学习笔记(深入)”;
sub 完全一致,只是返回值多一个数字例如:
import re<br>text = "abc123def456ghi"<br>new_text, n = re.subn(r"\d+", "[NUM]", text)<br>print(new_text) # abc[NUM]def[NUM]ghi<br>print(n) # 2
看你的后续动作:
sub,代码更干净subn
subn 更易汇总统计两个函数都支持 count(限制替换次数)和 flags(如 re.I 忽略大小写),这些参数对二者完全通用。
count=1 可实现“只换第一个”,避免误改flags=re.IGNORECASE 在替换关键词时不区分大小写repl 中可用 \1、\2 引用,两者都支持以上就是Python正则替换文本案例_sub与subn区别解析【技巧】的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号