Introducción
Este tutorial proporciona ejemplos de varios métodos que puedes usar para eliminar espacios en blanco de una cadena en Python.
A Python String is immutable, so you can’t change its value. Any method that manipulates a string value returns a new string.
Implementa tus aplicaciones de Python desde GitHub utilizando la Plataforma de Aplicaciones de DigitalOcean. Deja que DigitalOcean se encargue de escalar tu aplicación.
Los ejemplos en este tutorial utilizan la consola interactiva de Python en la línea de comandos para demostrar diferentes métodos que eliminan espacios. Los ejemplos utilizan la siguiente cadena:
s = ' Hello World From DigitalOcean \t\n\r\tHi There '
La salida es:
Output Hello World From DigitalOcean
Hi There
Esta cadena tiene diferentes tipos de espacios en blanco y caracteres de nueva línea, como espacio (
), tabulación (\t
), nueva línea (\n
) y retorno de carro (\r
).
Eliminar Espacios al Principio y al Final Usando el Método strip()
El método strip()
de la cadena en Python elimina caracteres al principio y al final de una cadena. El carácter predeterminado a eliminar es el espacio.
Declara la variable de cadena:
- s = ' Hello World From DigitalOcean \t\n\r\tHi There '
Utiliza el método strip()
para eliminar los espacios en blanco al principio y al final:
- s.strip()
La salida es:
Output'Hello World From DigitalOcean \t\n\r\tHi There'
Si deseas eliminar solo los espacios al principio o al final, entonces puedes usar los métodos lstrip()
y rstrip()
.
Elimina todos los espacios utilizando el método replace()
Puedes utilizar el método replace()
para eliminar todos los caracteres de espacio en blanco de la cadena, incluidos los que están entre palabras.
Declara la variable de cadena:
- s = ' Hello World From DigitalOcean \t\n\r\tHi There '
Utiliza el método replace()
para reemplazar los espacios con una cadena vacía:
- s.replace(" ", "")
La salida es:
Output'HelloWorldFromDigitalOcean\t\n\r\tHiThere'
Elimina los espacios duplicados y los caracteres de nueva línea utilizando los métodos join()
y split()
Puedes eliminar todo el espacio en blanco y los caracteres de nueva línea usando el método join()
con el método split()
. En este ejemplo, el método split()
divide la cadena en una lista, utilizando el separador predeterminado de cualquier carácter de espacio en blanco. Luego, el método join()
une la lista en una sola cadena con un solo espacio (" "
) entre cada palabra.
Declara la variable de cadena:
- s = ' Hello World From DigitalOcean \t\n\r\tHi There '
Usa los métodos join()
y split()
juntos para eliminar los espacios en blanco duplicados y los caracteres de nueva línea:
- " ".join(s.split())
La salida es:
Output'Hello World From DigitalOcean Hi There'
Eliminar Todos los Espacios y Caracteres de Nueva Línea Usando el Método translate()
Puedes eliminar todo el espacio en blanco y los caracteres de nueva línea usando el método translate()
. El método translate()
reemplaza los caracteres especificados con caracteres definidos en un diccionario o tabla de mapeo. El siguiente ejemplo usa un diccionario personalizado con la constante de cadena string.whitespace
, que contiene todos los caracteres de espacio en blanco. El diccionario personalizado {ord(c): None for c in string.whitespace}
reemplaza todos los caracteres en string.whitespace
con None
.
Importa el módulo string
para que puedas usar string.whitespace
:
- import string
Declara la variable de cadena:
- s = ' Hello World From DigitalOcean \t\n\r\tHi There '
Utiliza el método translate()
para eliminar todos los caracteres de espacio en blanco:
- s.translate({ord(c): None for c in string.whitespace})
La salida es:
Output'HelloWorldFromDigitalOceanHiThere'
Eliminar caracteres de espacio en blanco usando Regex
También puedes usar una expresión regular para hacer coincidir los caracteres de espacio en blanco y eliminarlos usando la función re.sub()
.
Este ejemplo utiliza el siguiente archivo, regexspaces.py
, para mostrar algunas formas en que puedes usar regex para eliminar caracteres de espacio en blanco:
import re
s = ' Hello World From DigitalOcean \t\n\r\tHi There '
print('Remove all spaces using regex:\n', re.sub(r"\s+", "", s), sep='') # \s hace coincidir todos los espacios en blanco
print('Remove leading spaces using regex:\n', re.sub(r"^\s+", "", s), sep='') # ^ coincide con el inicio
print('Remove trailing spaces using regex:\n', re.sub(r"\s+$", "", s), sep='') # $ coincide con el final
print('Remove leading and trailing spaces using regex:\n', re.sub(r"^\s+|\s+$", "", s), sep='') # | para la condición OR
Ejecuta el archivo desde la línea de comandos:
python3 regexspaces.py
Obtienes la siguiente salida:
Remove all spaces using regex:
HelloWorldFromDigitalOceanHiThere
Remove leading spaces using regex:
Hello World From DigitalOcean
Hi There
Remove trailing spaces using regex:
Hello World From DigitalOcean
Hi There
Remove leading and trailing spaces using regex:
Hello World From DigitalOcean
Hi There
Conclusión
En este tutorial, aprendiste algunos de los métodos que puedes utilizar para eliminar caracteres de espacio en blanco de las cadenas en Python. Continúa tu aprendizaje sobre las cadenas de Python.
Source:
https://www.digitalocean.com/community/tutorials/python-remove-spaces-from-string