Cómo eliminar caracteres de una cadena en Python

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:

  1. s = 'abc12321cba'

Reemplaza el carácter con una cadena vacía:

  1. print(s.replace('a', ''))

El resultado es:

Output
bc12321cb

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:

  1. s = 'ab\ncd\nef'

Reemplaza el carácter de nueva línea con una cadena vacía:

  1. print(s.replace('\n', ''))

El resultado es:

Output
abcdef

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:

  1. s = 'Helloabc'

Reemplaza una palabra con una cadena vacía:

  1. print(s.replace('Hello', ''))

La salida es:

Output
abc

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:

  1. s = 'abababab'

Reemplaza las dos primeras ocurrencias del carácter con el nuevo carácter:

  1. print(s.replace('a', 'A', 2)) # realiza el reemplazo dos veces

La salida es:

Output
AbAbabab

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:

  1. s = 'abc12321cba'

Obtenga el valor del punto de código Unicode de un carácter y reemplácelo con None:

  1. print(s.translate({ord('b'): None}))

El resultado es:

Output
ac12321ca

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:

  1. s = 'abc12321cba'

Reemplace todos los caracteres abc con None:

  1. print(s.translate({ord(i): None for i in 'abc'}))

La salida es:

Output
12321

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:

  1. s = 'ab\ncd\nef'

Reemplaza todos los caracteres \n con None:

  1. print(s.translate({ord('\n'): None}))

La salida es:

Output
abcdef

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