¿Cómo puedo eliminar los espacios en blanco iniciales y finales de una cadena en Python?
Por ejemplo:
" Hello " --> "Hello"
" Hello" --> "Hello"
"Hello " --> "Hello"
"Bob has a cat" --> "Bob has a cat"
¿Sólo un espacio, o todos los espacios consecutivos? Si es lo segundo, entonces las cadenas ya tienen un método .strip()
:
>>> ' Hello '.strip()
'Hello'
>>> ' Hello'.strip()
'Hello'
>>> 'Bob has a cat'.strip()
'Bob has a cat'
>>> ' Hello '.strip() # ALL consecutive spaces at both ends removed
'Hello'
Sin embargo, si sólo necesita eliminar un espacio, podría hacerlo con
def strip_one_space(s):
if s.endswith(" "): s = s[:-1]
if s.startswith(" "): s = s[1:]
return s
>>> strip_one_space(" Hello ")
' Hello'
Además, tenga en cuenta que str.strip()
elimina también otros caracteres de espacio en blanco (por ejemplo, tabulaciones y nuevas líneas). Para eliminar sólo los espacios, puede especificar el carácter a eliminar como argumento de strip
, es decir
>>> " Hello\n".strip(" ")
'Hello\n'
Esto eliminará todos los espacios en blanco iniciales y finales de "miCadena":
myString.strip()