Cómo reemplazar caracteres en una cadena en Python

Aprenda a reemplazar caracteres o subcadenas en cadenas de Python. Domine el método replace(), cuente los límites y utilice la traducción para varios caracteres.

Pruebe esta solución en el Editor

Descripción general

La manipulación de cadenas es fundamental para analizar entradas, representar plantillas, limpiar datos y generar texto de salida. En Python, modificar caracteres o subcadenas específicas dentro de un bloque de texto es sencillo, pero requiere comprender una propiedad fundamental de las cadenas: la inmutabilidad.

Debido a que las cadenas de Python son inmutables, no se pueden modificar sus caracteres en el lugar (por ejemplo, escribir `text[0] = "A"` genera un `TypeError`). En cambio, cualquier operación que altere una cadena debe crear y devolver una cadena nueva. La herramienta principal para esto es el método incorporado `.replace()`.

El método `.replace(old, new)` busca en una cadena todas las apariciones de una subcadena especificada y las reemplaza con una nueva subcadena. También puede especificar un tercer argumento opcional, "recuento", que limita el número de reemplazos a realizar de izquierda a derecha. Para reemplazos más complejos de varios caracteres, puede usar el método `.translate()` o expresiones regulares con la función `re.sub()`.

Código y salida de ejecución

Este script demuestra la modificación de cadenas reemplazando subcadenas y caracteres usando el método reemplazar().

replace_chars.py
Pruébelo en el editor
text = "banana apple banana cherry"

# 1. Replace all occurrences of a word
replaced_all = text.replace("banana", "orange")
print("Replaced all:", replaced_all)

# 2. Replace with a count limit (only first occurrence)
replaced_limit = text.replace("banana", "orange", 1)
print("Replaced limit:", replaced_limit)

# 3. Replace individual characters (immutability demonstration)
phrase = "pyth0n"
corrected = phrase.replace("0", "o")
print("Corrected string:", corrected)
Salida terminal
Replaced all: orange apple orange cherry
Replaced limit: orange apple banana cherry
Corrected string: python

Implementación paso a paso

  • Llame al método .replace() en la cadena de destino.
  • Pase la subcadena de destino como primer argumento y el reemplazo como segundo.
  • Utilice el argumento de recuento si desea restringir el número de reemplazos.

Preguntas frecuentes

¿Cómo reemplazo caracteres en una cadena en el lugar?

No puedes porque las cadenas de Python son inmutables. Debe asignar el resultado del método .replace() nuevamente a su variable de cadena: texto = texto.replace(...).

¿Replace() distingue entre mayúsculas y minúsculas?

Sí, .replace() distingue estrictamente entre mayúsculas y minúsculas. Para realizar reemplazos que no distinguen entre mayúsculas y minúsculas, debe usar expresiones regulares con el módulo re y re.IGNORECASE.

Temas relacionados

Recursos recomendados de Python

Amplíe sus conocimientos con tutoriales interactivos relacionados, hojas de trucos y comparaciones de códigos.