Introducción
En este artículo, hablaremos sobre cómo reemplazar una subcadena dentro de una cadena en Python, usando el método replace()
.Replace () método
En Python, las cadenas se representan como str
objetos inmutables. La str
incluye muchos métodos que le permiten manipular cadenas.
El .replace()
acepta la siguiente sintaxis:
str.replace(old, new[, maxreplace])
str
: la cadena con la que está trabajando.old
: la subcadena que desea reemplazar.new
: la subcadena que reemplaza la subcadena anterior.maxreplace
: argumento opcional. El número de coincidencias de la subcadena anterior que desea reemplazar. Los juegos se cuentan desde el principio de la cadena.
El método devuelve una copia de la srt
con algunas o todas las coincidencias de la subcadena old
reemplazadas por new
. Si maxreplace
, se reemplazan todas las apariciones.
En el siguiente ejemplo, reemplazamos la subcadena far
en la cadena s
con miles
:
s = 'A long time ago in a galaxy far, far away.'
s.replace('far', 'miles')
El resultado es una nueva cadena:
'A long time ago in a galaxy miles, miles away.'
Los literales de cadena generalmente se encierran entre comillas simples, aunque también se pueden usar comillas dobles.
Cuando maxreplace
recibe el argumento opcional, limitará el número de coincidencias reemplazadas. En el siguiente ejemplo, reemplazamos solo la primera aparición:
s = 'My ally is the Force, and a powerful ally it is.'
s.replace('ally', 'friend', 1)
La cadena de resultado se verá así:
'My friend is the Force, and a powerful ally it is.'
Para eliminar una subcadena, use una cadena vacía en su lugar ''
. Por ejemplo, para eliminar el space
de la siguiente cadena usaríamos:
s = 'That's no moon. It's a space station.'
s.replace('space ', '')
La nueva cadena se verá así:
`That's no moon. It's a station.'
Reemplazar subcadena en la lista de cadenas
Para reemplazar una subcadena en una lista de cadenas, use la construcción de comprensión de listas como se muestra a continuación:
s.replace('old', 'new') for s in list
Echemos un vistazo al siguiente ejemplo:
names = ['Anna Grace', 'Betty Grace', 'Emma Grace']
new_names = [s.replace('Grace', 'Lee') for s in names]
print(new_names)
El código anterior crea una copia de la lista con todas las apariciones de la subcadena Grace
reemplazada por Lee
:
['Anna Lee', 'Betty Lee', 'Emma Lee']
Conclusión
Reemplazar una subcadena en una cadena es una de las operaciones más básicas al escribir código en Python. Después de leer este tutorial, debe tener una buena comprensión de cómo usar el método replace()