Estoy tratando de dividir una cadena en palabras y signos de puntuación, agregando la puntuación a la lista producida por la división.Dividir una cadena en palabras y puntuación
Por ejemplo:
>>> c = "help, me"
>>> print c.split()
['help,', 'me']
Lo que realmente quiero la lista para que parezca es:
['help', ',', 'me']
lo tanto, quiero la división cadena en los espacios en blanco con la división de puntuacion de las palabras.
He tratado de analizar la cadena primero y luego ejecutar la división:
>>> for character in c:
... if character in ".,;!?":
... outputCharacter = " %s" % character
... else:
... outputCharacter = character
... separatedPunctuation += outputCharacter
>>> print separatedPunctuation
help , me
>>> print separatedPunctuation.split()
['help', ',', 'me']
Esto produce el resultado que quiero, pero es muy lento en archivos grandes.
¿Hay alguna manera de hacer esto de manera más eficiente?
Para este ejemplo (no el caso general) 'c.replace (' ' '') partición (',')' –