Pregunta ¿Cómo recorte el espacio en blanco de una cadena de Python?


¿Cómo elimino el espacio en blanco inicial y final de una cadena en Python?

Por ejemplo:

" Hello " --> "Hello"
" Hello"  --> "Hello"
"Hello "  --> "Hello"
"Bob has a cat" --> "Bob has a cat"

922
2018-04-17 19:16


origen


Respuestas:


¿Solo un espacio o todos esos espacios? Si es el segundo, entonces las cadenas ya tienen un .strip() método:

>>> ' Hello '.strip()
'Hello'
>>> ' Hello'.strip()
'Hello'
>>> 'Bob has a cat'.strip()
'Bob has a cat'
>>> '          Hello        '.strip()  # ALL spaces at ends removed
'Hello'

Sin embargo, si solo necesita eliminar un espacio, puede 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() también elimina otros caracteres en espacios en blanco (por ejemplo, pestañas y nuevas líneas). Para eliminar solo espacios, puede especificar el carácter que se eliminará como argumento para strip, es decir

>>> "  Hello\n".strip(" ")
'Hello\n'

1402
2018-04-17 19:21



Como se señaló en las respuestas anteriores

myString.strip()

eliminará todos los caracteres de espacios en blanco iniciales y finales, como \ n, \ r, \ t, \ f, espacio.

Para mayor flexibilidad use la siguiente

  • Solo elimina líder caracteres en blanco myString.lstrip()
  • Solo elimina arrastrando caracteres en blanco myString.rstrip()
  • Elimina específico caracteres en blanco myString.strip('\n') o myString.lstrip('\n\r') o myString.rstrip('\n\t') y así.

Más detalles están disponibles en documentos


222
2018-05-18 04:16



strip no está limitado a los espacios en blanco:

# remove all leading/trailing commas, periods and hyphens
title = title.strip(',.-')

101
2018-04-17 13:22



myString.strip()

44
2018-04-17 19:19



Quieres strip ():

myphrases = [ " Hello ", " Hello", "Hello ", "Bob has a cat" ]

for phrase in myphrases:
    print phrase.strip()

20
2018-04-17 19:21



También hay una manera de hacerlo sin esa función

string = "Hello Wor l d "
tmp_list = []
for char in string:
    if char != " ":
    tmp_list +=char
final_string = "".join(tmp_list)
print final_string

Pero es solo por diversión :)


0
2018-01-17 05:36