Python re.subn() 方法

Python re 模块 Python re 模块


re.subn() 是 Python re 模块中用于替换匹配项并返回替换次数的函数。

它与 re.sub() 类似,但返回一个元组,包含替换后的字符串和替换的总次数。

单词释义subn 是 substitute and return number (替换并返回数量) 的缩写。


基本语法与参数

语法格式

re.subn(pattern, repl, string, count=0, flags=0)

参数说明

  • pattern:要匹配的正则表达式
  • repl:替换文本
  • string:原始字符串
  • count:替换的最大次数
  • flags:正则表达式标志

函数说明

  • 返回值: 返回一个元组 (替换后的字符串, 替换次数)。

实例

示例 1:基础用法

实例

import re

text = "Python Python Python"

# 替换所有
result = re.subn(r'Python', 'Java', text)

print("替换后:", result[0])
print("替换次数:", result[1])

运行结果预期:

替换后: Java Java Java
替换次数: 3

示例 2:限制替换次数

< h2 class="example">实例
import re

text = "Python Python Python"

# 只替换2次
result = re.subn(r'Python', 'Java', text, count=2)

print("替换后:", result[0])
print("替换次数:", result[1])

运行结果预期:

替换后: Java Java Python
替换次数: 2

示例 3:统计敏感词出现次数

实例

import re

text = "这个产品很好,产品质量不错,产品价格合理"

# 替换敏感词并统计次数
result = re.subn(r'产品', '商品', text)

print("替换后:", result[0])
print("敏感词出现次数:", result[1])

运行结果预期:

替换后: 这个商品很好,商品质量不错,商品价格合理
敏感词出现次数: 3

Python re 模块 Python re 模块