Eliminar todos los espacios en blanco en una cadena

Resuelto not 0x12 asked hace 12 años • 15 respuestas

Quiero eliminar todos los espacios en blanco de una cadena, en ambos extremos y entre palabras.

Tengo este código Python:

def my_handle(self):
    sentence = ' hello  apple  '
    sentence.strip()

Pero eso sólo elimina los espacios en blanco a ambos lados de la cadena. ¿Cómo elimino todos los espacios en blanco?

not 0x12 avatar Nov 25 '11 20:11 not 0x12
Aceptado

Si desea eliminar los espacios iniciales y finales, utilice str.strip():

>>> "  hello  apple  ".strip()
'hello  apple'

Si desea eliminar todos los caracteres de espacio, utilice (NB, esto solo elimina el carácter de espacio ASCII "normal" , pero ningún otro espacio en blanco ) :str.replace() ' ' U+0020

>>> "  hello  apple  ".replace(" ", "")
'helloapple'

Si desea eliminar espacios duplicados, utilice str.split()seguido de str.join():

>>> " ".join("  hello  apple  ".split())
'hello apple'
Cédric Julien avatar Nov 25 '2011 13:11 Cédric Julien

Para eliminar sólo espacios utilice str.replace:

sentence = sentence.replace(' ', '')

Para eliminar todos los caracteres de espacio en blanco (espacio, tabulación, nueva línea, etc.), puede splitutilizar join:

sentence = ''.join(sentence.split())

o una expresión regular:

import re
pattern = re.compile(r'\s+')
sentence = re.sub(pattern, '', sentence)

Si solo desea eliminar espacios en blanco desde el principio y el final, puede usar strip:

sentence = sentence.strip()

También puede utilizar lstrippara eliminar espacios en blanco solo desde el principio de la cadena y rstrippara eliminar espacios en blanco desde el final de la cadena.

Mark Byers avatar Nov 25 '2011 13:11 Mark Byers