Ich habe Strings wie "- memphis , tn! "
, "~~~memphis,tn"
, ":) memphis , tn (:"
, ". - memphis,tn - ."
, "memphis tn?"
. Ich möchte jede dieser Zeichenfolgen so reinigen, dass jede Zeichenfolge "memphis,tn"
wird. Momentan verwende ich den folgenden Code, aber gibt es dafür einen effizienteren Weg? Vielleicht mit Regex?Reinigung weg Symbole/Leerzeichen effizient
Beachten Sie, dass ich derzeit das Problem habe, dass die Reihenfolge der Sonderzeichen das Endergebnis beeinflusst. Zum Beispiel gibt ". - memphis,tn - ."
das richtige Ergebnis, während "- . memphis,tn . -"
nicht. Dies ist nicht beabsichtigt. Wenn es als Nebeneffekt behoben werden könnte, wäre das großartig!
Die Zeichenfolgen sind reines ASCII und ich könnte versucht sein, mehr Sonderzeichen als die folgenden zu entfernen.
Bearbeiten: Sorry, ich sollte beachten, dass nicht alle Zeichenfolgen das "x, y" -Format haben. Auch Strings wie "- New York City -" oder "* Texas *" sollten aufgeräumt werden.
# remove emoticons
smileys = [":)",":\\",":(",";)",
"(:","\\:","):","(;"]
for s in smileys:
loc = loc.replace(s, '')
# cleaning whitespace uses
loc = ' '.join(loc.split())
loc = loc.strip()
loc = loc.replace(' ,', ',')
loc = loc.replace(', ', ',')
loc = loc.replace(' .', '.')
loc = loc.replace('. ', '.')
# clean special symbols off the sides
symbols = '.,!-#~*^[email protected]" '
loc = loc.strip(symbols)
verwenden, was für "" - New York City - "' ausgegeben wird? – rock321987
"New York City" – pir
Wie ersetzen Sie die Leerzeichen in ':) Memphis, tn (:'? – rock321987