Cómo eliminar los espacios en blanco de una cadena en Python
- Eliminar los espacios en blanco al principio de una cadena en Python
- Eliminar los espacios en blanco al final de una cadena en Python
- Eliminar los espacios en blanco tanto al principio como al final de una cadena en Python
- Eliminar todos los espacios en blanco de una cadena en Python
- Sólo eliminar los espacios en blanco duplicados de una cadena en Python
A continuación se muestra cómo eliminar los espacios en blanco de una cadena. Se podría clasificar principalmente en dos enfoques diferentes, uno es el de los métodos str
de Python, como str.split()
y str.replace()
; el otro es el método de expresión regular de Python.
Usaremos la cadena "Ejemplo Demo"
como la cadena a procesar en los siguientes ejemplos.
Eliminar los espacios en blanco al principio de una cadena en Python
Método str.lstrip()
>>> demo = " Demo Example "
>>> demo.lstrip()
"Demo Example "
Aquí, el método str.lstrip()
elimina los caracteres principales especificados en el argumento del método. Si no se da ningún argumento, simplemente elimina los espacios en blanco.
Método regex de Python
>>> import re
>>> demo = " Demo Example "
>>> re.sub(r"^\s+", "", demo)
"Demo Example "
La fuerza regex sólo encuentra la cadena correspondiente al principio, y significa que coincide con todos los diferentes tipos de espacios en blanco como espacio en blanco, tabulación, retorno, etc. o en otras palabras, es igual a la colección de estos caracteres especiales. +
indica que debe coincidir con los espacios en blanco tantos como sea posible.
Puede referirse a este tutorial de expresión regular de Python para aprender más sobre regex.
Eliminar los espacios en blanco al final de una cadena en Python
Método str.rstrip()
En contraste con str.lstrip()
que elimina los caracteres al principio de la cadena, str.rstrip()
elimina los caracteres al final.
>>> demo = " Demo Example "
>>> demo.lstrip()
" Demo Example"
Método regex de Python
Del mismo modo, debería utilizar una expresión que coincida con los espacios en blanco al final de la cadena.
>>> import re
>>> demo = " Demo Example "
>>> re.sub(r"\s+$", "", demo)
" Demo Example"
Eliminar los espacios en blanco tanto al principio como al final de una cadena en Python
str.strip()
Método
str.strip()
es la combinación de str.lstrip()
y str.rstrip()
para eliminar los espacios en blanco al principio y al final de la cadena.
>>> demo = " Demo Example "
>>> demo.strip()
"Demo Example"
Método sub()
de Python regex
>>> import re
>>> demo = " Demo Example "
>>> re.sub(r"^\s+|\s+$", "", demo)
"Demo Example"
Eliminar todos los espacios en blanco de una cadena en Python
La cadena de Python reemplaza el método str.replace()
No es necesario comprobar la posición del espacio en blanco. Por lo tanto, puede utilizar el método str.replace()
para reemplazar todos los espacios en blanco con la cadena vacía.
>>> demo = " Demo Example "
>>> demo.replace(" ", "")
'DemoExample'
La cadena de Python regex reemplaza el método sub()
La expresión regex sólo podía ser \s+
para coincidir con los espacios en blanco.
>>> import re
>>> demo = " Demo Example "
>>> re.sub(r"\s+", "", demo)
"DemoExample"
Sólo eliminar los espacios en blanco duplicados de una cadena en Python
Método de división de cadenas de Python str.split()
>>> demo = " Demo Example "
>>> " ".join(demo.split())
'Demo Example'
str.split()
devuelve una lista de la subcadena de la cadena, utilizando espacios en blanco como cadena delimitadora.
El método de separación regex de Python re.split()
>>> import re
>>> demo = " Demo Example "
>>> " ".join(re.split(r"\s+", demo)
" Demo Example "
re.split()
y str.split()
son diferentes donde re.split()
tendrá una cadena vacía al principio o al final de la lista si la cadena tiene espacios en blanco en estas posiciones, pero str.split()
no incluye ninguna cadena vacía en su resultado.Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn Facebook