Franjas de espacios / tabulaciones / nuevas líneas – python

Estoy tratando de eliminar todos los espacios / tabs / nuevas líneas en Python 2.7 en Linux.

Escribí esto, que debería hacer el trabajo:

myString="I want to Remove all white \t spaces, new lines \n and tabs \t" myString = myString.strip(' \n\t') print myString 

salida:

 I want to Remove all white spaces, new lines and tabs 

Parece una cosa simple de hacer, sin embargo, me estoy perdiendo algo aquí. ¿Debo estar importando algo?

Utilice str.split([sep[, maxsplit]]) sin sep o sep=None :

De los documentos :

Si sep no se especifica o es None , se aplica un algoritmo de división diferente: las ejecuciones de espacios en blanco consecutivos se consideran como un solo separador, y el resultado no contendrá cadenas vacías al principio o al final si la cadena tiene espacios en blanco iniciales o finales.

Manifestación:

 >>> myString.split() ['I', 'want', 'to', 'Remove', 'all', 'white', 'spaces,', 'new', 'lines', 'and', 'tabs'] 

Use str.join en la lista devuelta para obtener esta salida:

 >>> ' '.join(myString.split()) 'I want to Remove all white spaces, new lines and tabs' 

Si desea eliminar varios elementos de espacio en blanco y reemplazarlos por espacios individuales, la forma más sencilla es con una expresión regular como esta:

 >>> import re >>> myString="I want to Remove all white \t spaces, new lines \n and tabs \t" >>> re.sub('\s+',' ',myString) 'I want to Remove all white spaces, new lines and tabs ' 

Luego puede eliminar el espacio final con .strip() si lo desea.

 import re mystr = "I want to Remove all white \t spaces, new lines \n and tabs \t" print re.sub(r"\W", "", mystr) Output : IwanttoRemoveallwhitespacesnewlinesandtabs 

Echa un vistazo a la respuesta a esta pregunta relacionada: ¿Cómo recortar los espacios en blanco (incluidas las tabs)?

strip () elimina solo los caracteres iniciales y finales, no TODOS los caracteres.

Usa la biblioteca re

 import re myString = "I want to Remove all white \t spaces, new lines \n and tabs \t" myString = re.sub(r"[\n\t\s]*", "", myString) print myString 

Salida:

Quiero eliminar los espacios en blanco, nuevas líneas y lengüetas

Esto solo eliminará la pestaña, las nuevas líneas, los espacios y nada más.

 import re myString = "I want to Remove all white \t spaces, new lines \n and tabs \t" output = re.sub(r"[\n\t\s]*", "", myString) 

SALIDA:

IwantoRemover todos los espacios, nuevas líneas y lengüetas

¡Buen día!