Метод re.subn() в Python
re.subn()это Pythonreфункция модуля 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])
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])
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 = "This product is good, the product quality is good, and the product price is reasonable."
# Заменить нежелательные слова и подсчитать вхождения
result = re.subn(r'product', 'goods', text)
print("После замены:", result[0])
print("Количество вхождений нежелательного слова:", result[1])
text = "This product is good, the product quality is good, and the product price is reasonable."
# Заменить нежелательные слова и подсчитать вхождения
result = re.subn(r'product', 'goods', text)
print("После замены:", result[0])
print("Количество вхождений нежелательного слова:", result[1])
Ожидаемый вывод:
替换后: 这个商品很好,商品质量不错,商品价格合理 敏感词出现次数: 3
Другие расширения
Модуль re в Python