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

Antworten auf die Frage(20)

Ihre Antwort auf die Frage