【发布时间】:2012-04-05 13:02:09
【问题描述】:
我正在尝试将字符串分成单词,删除空格和标点符号。
我尝试使用split() 方法,一次传递所有标点符号,但结果不正确:
>>> test='hello,how are you?I am fine,thank you. And you?'
>>> test.split(' ,.?')
['hello,how are you?I am fine,thank you. And you?']
我实际上已经知道如何使用正则表达式来做到这一点,但我想弄清楚如何使用split() 来做到这一点。请不要给我正则表达式解决方案。
【问题讨论】:
-
所以你坚持用扳手打钉子,而锤子就在手边。为什么?
-
没有任何不尊重 OP 的意思,我认为应该为这类问题贴上标签,在这些问题中,无论出于何种原因(有时是有效的),适当的工具都会被冷落,它们不时出现。也许
luddism? -
试试 C# "你好,你好吗?我很好,谢谢。你呢?".Split(",? .".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
-
不要让任何人阻止您探索非正则表达式方法来进行简单的文本操作。使用字符串方法、itertools.groupby 和实际编写函数(!),我们中的一些人几乎从不使用正则表达式,并且为了换取更多的击键,我们可以编写出漂亮、干净、易于调试的 Python .