una quitar modificar lista especiales eliminar elementos elemento caracteres cadenas cadena python string trim

quitar - modificar cadenas en python



¿Cómo puedo recortar espacios en blanco de una cadena de Python? (7)

¿Cómo elimino 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"


¿Solo un espacio, o todos esos espacios? Si es el 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 spaces at ends removed ''Hello''

Si solo necesitas eliminar un espacio, puedes 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 otros caracteres de espacios en blanco (por ejemplo, pestañas y nuevas líneas). Para eliminar solo los espacios, puede especificar el carácter a eliminar como un argumento para strip , es decir:

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


Como se señaló en las respuestas anteriores

myString.strip()

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

Para mayor flexibilidad usa los siguientes

  • Elimina solo los caracteres de espacio en blanco myString.lstrip() : myString.lstrip()
  • Elimina solo los caracteres de espacios en blanco finales : myString.rstrip()
  • Elimina caracteres de espacios en blanco específicos : myString.strip(''/n'') o myString.lstrip(''/n/r'') o myString.rstrip(''/n/t'') y así sucesivamente.

Más detalles están disponibles en los docs


Esto eliminará todos los espacios en blanco myString y finales en myString :

myString.strip()


Quería eliminar los demasiados espacios en una cadena (también entre la cadena, no solo al principio o al final). Hice esto, porque no sé cómo hacerlo de otra manera:

string = "Name : David Account: 1234 Another thing: something " ready = False while ready == False: pos = string.find(" ") if pos != -1: string = string.replace(" "," ") else: ready = True print(string)

Esto reemplaza los espacios dobles en un espacio hasta que ya no tenga espacios dobles


Quieres strip ():

myphrases = [ " Hello ", " Hello", "Hello ", "Bob has a cat" ] for phrase in myphrases: print phrase.strip()


También hay una forma 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 :)


strip no se limita a los caracteres de espacio en blanco, ya sea:

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