Método Python re.sub()
re.sub()es Pythonreutilizado en el módulo parareemplazar coincidenciasla función.
Busca todas las subcadenas coincidentes en la cadena y las reemplaza con el contenido especificado.
Definición de la palabra: subEs la abreviatura de substitute (reemplazar).
Sintaxis básica y parámetros
Formato de sintaxis
re.sub(pattern, repl, string, count=0, flags=0)
Descripción de parámetros
- patternExpresión regular a coincidir
- replTexto de reemplazo, puede ser una cadena o una función
- stringCadena original
- countNúmero máximo de reemplazos, 0 significa reemplazar todos
- flagsIndicadores de expresión regular
Descripción de la función
- Valor de retornoDevuelve la nueva cadena después del reemplazo.
Ejemplo
Ejemplo 1: Reemplazo básico
Ejemplo
import re
text = "Python is good, Python is great"
# Reemplazar Python por Java
result = re.sub(r'Python', 'Java', text)
print(result)
text = "Python is good, Python is great"
# Reemplazar Python por Java
result = re.sub(r'Python', 'Java', text)
print(result)
Resultado esperado:
Java is good, Java is great
Ejemplo 2: Reemplazar un número específico de veces
Ejemplo
import re
text = "Python is good, Python is great"
# Reemplazar solo el primero
result = re.sub(r'Python', 'Java', text, count=1)
print(result)
text = "Python is good, Python is great"
# Reemplazar solo el primero
result = re.sub(r'Python', 'Java', text, count=1)
print(result)
Resultado esperado:
Java is good, Python is great
Ejemplo 3: Reemplazo usando expresiones regulares
Ejemplo
import re
text = Mi número de teléfono móvil es 138-1234-5678
# Reemplazar los 4 dígitos centrales del número de teléfono por ****
result = re.sub(r'\d{4}', '****', text)
print(result)
text = Mi número de teléfono móvil es 138-1234-5678
# Reemplazar los 4 dígitos centrales del número de teléfono por ****
result = re.sub(r'\d{4}', '****', text)
print(result)
Resultado esperado:
我的手机号是 138-****-5678
Ejemplo 4: Uso de referencias a grupos
Ejemplo
import re
text = "2024-04-02"
# Intercambiar el orden de año, mes y día
result = re.sub(r'(\d{4})-(\d{2})-(\d{2})', r'\3/\2/\1', text)
print(result)
text = "2024-04-02"
# Intercambiar el orden de año, mes y día
result = re.sub(r'(\d{4})-(\d{2})-(\d{2})', r'\3/\2/\1', text)
print(result)
Resultado esperado:
02/04/2024
Ejemplo 5: Usar una función como contenido de reemplazo
Ejemplo
import re
text = 3 manzanas, 5 plátanos, 8 naranjas
# Reemplazar los números por número+1
def add_one(match):
return str(int(match.group()) + 1)
result = re.sub(r'\d+', add_one, text)
print(result)
text = 3 manzanas, 5 plátanos, 8 naranjas
# Reemplazar los números por número+1
def add_one(match):
return str(int(match.group()) + 1)
result = re.sub(r'\d+', add_one, text)
print(result)
Resultado esperado:
苹果4个,香蕉6个,橙子9个
Otras extensiones
Módulo re de Python