我有一些问题试图通过标点符号来分割字符串。具体来说,属于string.punctuation的每个字符。例如,对于串基于标点符号化字符串
输入:
"Hi. How2 are you doing?? "
我想的输出:
['Hi', '.', 'How2', 'are', 'you', 'doing', '?', '?')
供参考string.punctuation是:
'!"#$%&\'()*+,-./:;<=>[email protected][\\]^_`{|}~'
我想任何字符在字符串中成为自己的令牌。
我目前试过使用re.split()
。然而,我所能达到的只是基于非单词字符的分裂。例如:
print([i for i in re.split(r'(\W+)', 'hi. how are you doing') if i])
其给出的输出:
['hi', '. ', 'how', ' ', 'are', ' ', 'you', ' ', 'doing', '??']
此外,两个'??'
应当被拆分。有什么建议么?
只是一个小的评论,你不需要说[我为我在re.split(...)如果我] ...“如果我“完全是多余的,并且如果你真的不能只说print(re.split(...))<我不知道,我不熟悉Python 3的print()或者re模块的split() )>你可以说print(list(re.split())) – 2014-11-22 19:14:49