Ausblenden von Leerzeichen in einer Zeichenfolge
Ich habe eine Zeichenfolge, die so aussieht:
"stuff . // : /// more-stuff .. .. ...$%$% stuff -> DD"
und ich möchte alle Satzzeichen entfernen, alles in Großbuchstaben schreiben und alle Leerzeichen reduzieren, so dass es so aussieht:
"STUFF MORE STUFF STUFF DD"
Ist das mit einem Regex möglich oder muss ich mehr als zwei kombinieren? Das habe ich bisher:
def normalize(string):
import re
string = string.upper()
rex = re.compile(r'\W')
rex_s = re.compile(r'\s{2,}')
result = rex.sub(' ', string) # this produces a string with tons of whitespace padding
result = rex.sub('', result) # this reduces all those spaces
return result
Das einzige, was nicht funktioniert, ist das Zusammenbrechen des Leerzeichens. Irgendwelche Ideen?