您的位置:首页 >Python正则替换技巧:sub与subn区别详解
发布于2026-02-26 阅读(0)
扫一扫,手机访问
re.sub()返回替换后的字符串,re.subn()返回(新字符串, 替换次数)元组;前者适合只需结果的场景,后者适用于需统计或校验替换数量的情况。

Python正则替换中,re.sub() 和 re.subn() 都用于替换匹配内容,但返回结果不同:前者只返回替换后的字符串,后者额外返回替换次数。
它执行替换后,只返回处理完成的字符串,适合你只关心“最终文本长什么样”的场景。
re.sub(pattern, repl, string, count=0, flags=0)count 参数可限制最多替换几次(默认全部)例如:
import re
text = "价格:100元,折扣价:85元"
result = re.sub(r"\d+元", "XX元", text)
print(result) # 输出:价格:XX元,折扣价:XX元
它返回一个二元组 (new_string, number_of_subs),第二个值是实际发生的替换次数。
sub 完全一致,只是返回值多一个数字例如:
import re
text = "abc123def456ghi"
new_text, n = re.subn(r"\d+", "[NUM]", text)
print(new_text) # abc[NUM]def[NUM]ghi
print(n) # 2
看你的后续动作:
sub,代码更干净subnsubn 更易汇总统计两个函数都支持 count(限制替换次数)和 flags(如 re.I 忽略大小写),这些参数对二者完全通用。
count=1 可实现“只换第一个”,避免误改flags=re.IGNORECASE 在替换关键词时不区分大小写repl 中可用 \1、\2 引用,两者都支持
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
9