Introducción
Este artículo describe dos métodos comunes que puedes usar para eliminar caracteres de una cadena en Python:
- el método
replace()
de la cadena - el método
translate()
de la cadena
Para conocer algunas formas diferentes de eliminar espacios de una cadena en Python, consulta Eliminar espacios de una cadena en Python.
A Python String object is immutable, so you can’t change its value. Any method that manipulates a string value returns a new String object.
Los ejemplos en este tutorial utilizan la consola interactiva de Python en la línea de comandos para demostrar diferentes métodos que eliminan caracteres.
Implementa tus aplicaciones de Python desde GitHub utilizando la Plataforma de Aplicaciones de DigitalOcean. Deja que DigitalOcean se encargue de escalar tu aplicación.
Eliminar caracteres de una cadena utilizando el método replace()
El método replace()
reemplaza un carácter con un nuevo carácter. Puedes eliminar un carácter de una cadena proporcionando el o los caracteres a reemplazar como primer argumento y una cadena vacía como segundo argumento.
Declara la variable de cadena:
- s = 'abc12321cba'
Reemplaza el carácter con una cadena vacía:
- print(s.replace('a', ''))
El resultado es:
Outputbc12321cb
El resultado muestra que ambas ocurrencias del carácter a
fueron eliminadas de la cadena.
Eliminar caracteres de nueva línea de una cadena usando el método replace()
Declara una variable de cadena con algunos caracteres de nueva línea:
- s = 'ab\ncd\nef'
Reemplaza el carácter de nueva línea con una cadena vacía:
- print(s.replace('\n', ''))
El resultado es:
Outputabcdef
El resultado muestra que ambos caracteres de nueva línea (\n
) fueron eliminados de la cadena.
Eliminar una subcadena de una cadena usando el método replace()
El método replace()
toma cadenas como argumentos, por lo que también puedes reemplazar una palabra en una cadena.
Declara la variable de cadena:
- s = 'Helloabc'
Reemplaza una palabra con una cadena vacía:
- print(s.replace('Hello', ''))
La salida es:
Outputabc
La salida muestra que la cadena Hello
fue eliminada de la cadena de entrada.
Eliminar caracteres un número específico de veces utilizando el método replace()
Puedes pasar un tercer argumento en el método replace()
para especificar el número de reemplazos a realizar en la cadena antes de detenerse. Por ejemplo, si especificas 2
como tercer argumento, solo se reemplazarán las primeras 2 ocurrencias de los caracteres dados.
Declara la variable de cadena:
- s = 'abababab'
Reemplaza las dos primeras ocurrencias del carácter con el nuevo carácter:
- print(s.replace('a', 'A', 2)) # realiza el reemplazo dos veces
La salida es:
OutputAbAbabab
La salida muestra que las dos primeras ocurrencias del carácter a
fueron reemplazadas por el carácter A
. Dado que el reemplazo se hizo solo dos veces, las otras ocurrencias de a
permanecen en la cadena.
Eliminar caracteres de una cadena utilizando el método translate()
El método translate()
de Python reemplaza cada carácter en la cadena utilizando la tabla de mapeo o diccionario dado.
Declare una variable de cadena:
- s = 'abc12321cba'
Obtenga el valor del punto de código Unicode de un carácter y reemplácelo con None
:
- print(s.translate({ord('b'): None}))
El resultado es:
Outputac12321ca
El resultado muestra que ambas ocurrencias del carácter b
fueron eliminadas de la cadena según lo definido en el diccionario personalizado.
Eliminar varios caracteres de una cadena utilizando el método translate()
Puedes reemplazar varios caracteres en una cadena utilizando el método translate()
. El siguiente ejemplo utiliza un diccionario personalizado, {ord(i): None for i in 'abc'}
, que reemplaza todas las ocurrencias de a
, b
y c
en la cadena dada con None
.
Declare la variable de cadena:
- s = 'abc12321cba'
Reemplace todos los caracteres abc
con None
:
- print(s.translate({ord(i): None for i in 'abc'}))
La salida es:
Output12321
La salida muestra que todas las ocurrencias de a
, b
y c
fueron eliminadas de la cadena según lo definido en el diccionario personalizado.
Eliminar caracteres de nueva línea de una cadena usando el método translate()
Puedes reemplazar los caracteres de nueva línea en una cadena usando el método translate()
. El siguiente ejemplo utiliza un diccionario personalizado, {ord('\n'): None}
, que reemplaza todas las ocurrencias de \n
en la cadena dada con None
.
Declara la variable de cadena:
- s = 'ab\ncd\nef'
Reemplaza todos los caracteres \n
con None
:
- print(s.translate({ord('\n'): None}))
La salida es:
Outputabcdef
La salida muestra que todas las ocurrencias del carácter de nueva línea \n
fueron eliminadas de la cadena según lo definido en el diccionario personalizado.
Conclusión
En este tutorial, aprendiste algunos de los métodos que puedes usar para eliminar caracteres de cadenas en Python. Continúa tu aprendizaje sobre las cadenas en Python.
Source:
https://www.digitalocean.com/community/tutorials/python-remove-character-from-string