Python / Django: ¿Cómo eliminar espacios y tabulaciones en blanco extra de una cadena?

Estoy construyendo un sitio web con Python / Django. Los usuarios envían tags. Cada etiqueta puede contener varias palabras. Cada etiqueta tiene un número de identificación. Quiero asegurarme de que las tags que tienen un formato ligeramente diferente sigan siendo reconocidas como la misma etiqueta.

Por ejemplo, si un usuario envió la etiqueta “guitarra eléctrica” ​​y la otra “guitarra eléctrica” ​​(2 espacios en blanco entre las 2 palabras) quiero poder reconocer que son la misma etiqueta.

¿Cómo elimino todos los espacios en blanco adicionales y las tabs en este caso? Gracias.

Dividir en cualquier espacio en blanco, luego unirse en un solo espacio.

' '.join(s.split()) 
 >>> import re >>> re.sub(r'\s+', ' ', 'some test with ugly whitespace') 'some test with ugly whitespace' 

slugify método slugify de Django, que condensa los espacios en un solo guión y otras características útiles:

 from django.template.defaultfilters import slugify 

"electric guitar".split() le dará ['electric', 'guitar'] . Así lo hará "electric \tguitar" .

Esta función elimina todo lo que no es un dígito en una cadena. Lo uso en todo el lugar.

 def parseInt(string): if isinstance(string, (str, int, unicode)): try: digit = int(''.join([x for x in string if x.isdigit() ])) except ValueError: return False else: return digit else: return False 

Podría haber muchos espacios en blanco como a continuación:

 var = " This is the example of how to remove spaces " 

Solo haz una tarea simple como, usa la función de reemplazar:

 realVar = var.replace(" ",'') 

Ahora el outpur sería:

 Thisistheexampleofhowtoremovespaces 

Sólo Chill ……… 🙂