【发布时间】:2010-09-26 21:34:58
【问题描述】:
我正在尝试将字符串拆分为单词和标点符号,并将标点符号添加到拆分生成的列表中。
例如:
>>> c = "help, me"
>>> print c.split()
['help,', 'me']
我真正想要的列表是:
['help', ',', 'me']
所以,我希望字符串在空格处分割,标点符号从单词中分割出来。
我尝试过先解析字符串,然后再运行拆分:
>>> for character in c:
... if character in ".,;!?":
... outputCharacter = " %s" % character
... else:
... outputCharacter = character
... separatedPunctuation += outputCharacter
>>> print separatedPunctuation
help , me
>>> print separatedPunctuation.split()
['help', ',', 'me']
这会产生我想要的结果,但在大文件上速度非常慢。
有没有办法更有效地做到这一点?
【问题讨论】:
-
对于这个例子(不是一般情况)
c.replace(' ','').partition(',')