我有一个密码

print(re.split(r"[\s\?\!\,\;]+", "Holy moly, feferoni!"))


结果

['Holy', 'moly', 'feferoni', '']


我如何摆脱最后一个空白元素,是什么原因造成的?
如果这是从字符串中删除标点符号和空格的肮脏方法,那么除了使用正则表达式外,我还能怎么写?

最佳答案

扩展@HamZa在其comment中所说的内容,您将使用re.findall和一个负字符集:

>>> from re import findall
>>> findall(r"[^\s?!,;]+", "Holy moly, feferoni!")
['Holy', 'moly', 'feferoni']
>>>

09-11 19:51