Eliminar todos los espacios en blanco en una cadena
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?
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'
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 split
utilizar 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 lstrip
para eliminar espacios en blanco solo desde el principio de la cadena y rstrip
para eliminar espacios en blanco desde el final de la cadena.