¿Cómo recorto los espacios en blanco?
¿Existe una función de Python que recorte los espacios en blanco (espacios y tabulaciones) de una cadena?
Entonces esa entrada dada " \t example string\t "
se convierte en "example string"
.
Para espacios en blanco en ambos lados, use str.strip
:
s = " \t a string example\t "
s = s.strip()
Para espacios en blanco en el lado derecho, use str.rstrip
:
s = s.rstrip()
Para espacios en blanco en el lado izquierdo, use str.lstrip
:
s = s.lstrip()
Puede proporcionar un argumento para eliminar caracteres arbitrarios de cualquiera de estas funciones, como este:
s = s.strip(' \t\n\r')
Esto eliminará cualquier espacio, \t
, \n
o \r
carácter de ambos lados de la cadena.
Los ejemplos anteriores solo eliminan cadenas de los lados izquierdo y derecho de las cadenas. Si también desea eliminar caracteres del medio de una cadena, intente re.sub
:
import re
print(re.sub('[\s+]', '', s))
Eso debería imprimirse:
astringexample
En Python, los métodos de recorte se denominan strip
:
str.strip() # trim
str.lstrip() # left trim
str.rstrip() # right trim
Para espacios en blanco iniciales y finales:
s = ' foo \t '
print s.strip() # prints "foo"
De lo contrario, funciona una expresión regular:
import re
pat = re.compile(r'\s+')
s = ' \t foo \t bar \t '
print pat.sub('', s) # prints "foobar"
También puedes usar una función muy simple y básica: str.replace() , funciona con los espacios en blanco y las pestañas:
>>> whitespaces = " abcd ef gh ijkl "
>>> tabs = " abcde fgh ijkl"
>>> print whitespaces.replace(" ", "")
abcdefghijkl
>>> print tabs.replace(" ", "")
abcdefghijkl
Simple y fácil.