Splitting eine Zeichenfolge in Wörter und Satzzeichen
Ich versuche, eine Zeichenfolge in Wörter und Interpunktion aufzuteilen und die Interpunktion der durch die Aufteilung erzeugten Liste hinzuzufügen.
Zum Beispiel
>>> c = "help, me"
>>> print c.split()
['help,', 'me']
Wie ich wirklich möchte, dass die Liste aussieht, ist:
['help', ',', 'me']
Also, ich möchte, dass die Zeichenfolge in Leerzeichen geteilt wird, wobei die Interpunktion von den Wörtern getrennt wird.
Ich habe versucht, den String zuerst zu analysieren und dann den Split auszuführen:
>>> for character in c:
... if character in ".,;!?":
... outputCharacter = " %s" % character
... else:
... outputCharacter = character
... separatedPunctuation += outputCharacter
>>> print separatedPunctuation
help , me
>>> print separatedPunctuation.split()
['help', ',', 'me']
Dies erzeugt das gewünschte Ergebnis, ist jedoch bei großen Dateien schmerzhaft langsam.
ibt es eine Möglichkeit, dies effizienter zu tu