Метод Python re.sub()

Python re 模块Модуль re в Python


re.sub()— это Pythonreфункция модуля длязамены совпавших элементов.

Он находит все совпадающие подстроки в строке и заменяет их указанным содержимым.

Значение слова: sub— это сокращение от substitute (заменять).


Базовый синтаксис и параметры

Формат синтаксиса

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

Описание параметра

  • pattern: регулярное выражение для сопоставления
  • repl: текст замены, который может быть строкой или функцией
  • string: исходная строка
  • count: максимальное количество замен; 0 означает заменить все
  • flags: флаги регулярного выражения

Описание функций

  • Возвращаемое значение: Возвращает новую строку после замены.

Примеры

Пример 1: Базовая замена

Пример

import re

text = "Python хорош, Python великолепен"

# Заменить Python на Java
result = re.sub(r'Python', 'Java', text)

print(result)

Ожидаемый вывод:

Java is good, Java is great

Пример 2: Заменить указанное количество раз

Пример

import re

text = "Python хорош, Python великолепен"

# Заменить только первое вхождение
result = re.sub(r'Python', 'Java', text, count=1)

print(result)

Ожидаемый вывод:

Java is good, Python is great

Пример 3: Замена с помощью регулярного выражения

Пример

import re

text = "My phone number is 138-1234-5678"

# Заменить средние 4 цифры номера телефона на ****
result = re.sub(r'\d{4}', '****', text)

print(result)

Ожидаемый вывод:

我的手机号是 138-****-5678

Пример 4: Использование ссылок на группы

Пример

import re

text = "2024-04-02"

# Поменять порядок года, месяца и дня
result = re.sub(r'(\d{4})-(\d{2})-(\d{2})', r'\3/\2/\1', text)

print(result)

Ожидаемый вывод:

02/04/2024

Пример 5: Использование функции в качестве содержимого замены

Пример

import re

text = "3 яблока, 5 бананов, 8 апельсинов"

# Заменить числа на число + 1
def add_one(match):
    return str(int(match.group()) + 1)

result = re.sub(r'\d+', add_one, text)

print(result)

Ожидаемый вывод:

苹果4个,香蕉6个,橙子9个

Python re 模块Модуль re в Python

Другие расширения