Estoy tratando de eliminar todos los espacios / pestañas / líneas nuevas en python 2.7 en Linux.
Escribí esto, eso 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, pero me falta algo aquí. ¿Debería importar algo?
python
string
python-2.7
strip
bachurim09
fuente
fuente
Respuestas:
Usar
str.split([sep[, maxsplit]])
sinsep
osep=None
:De los documentos :
Manifestación:
Úselo
str.join
en la lista devuelta para obtener este resultado:fuente
Si desea eliminar varios elementos de espacio en blanco y reemplazarlos con espacios simples, la forma más fácil es con una expresión regular como esta:
A continuación, puede eliminar el espacio final con
.strip()
si lo desea.fuente
Usa la biblioteca re
Salida:
fuente
fuente
SALIDA:
¡Buen día!
fuente
Las soluciones anteriores que sugieren el uso de expresiones regulares no son ideales porque esta es una tarea tan pequeña y las expresiones regulares requieren más recursos de los que justifica la simplicidad de la tarea.
Esto es lo que hago:
myString = myString.replace(' ', '').replace('\t', '').replace('\n', '')
o si tuviera que eliminar un montón de cosas, de modo que una solución de una sola línea sería innecesariamente larga:
fuente
Como no hay nada más complicado, quería compartir esto, ya que me ayudó.
Esto es lo que usé originalmente:
Resultado no deseado:
Esto es a lo que lo cambié:
Resultado deseado:
La expresión regular precisa que @MattH había mencionado, fue lo que funcionó para mí al encajarla en mi código. ¡Gracias!
Nota: esto es
python3
fuente