2013-08-27 42 views
1

假设我有一个字符串"Dogs,cats"。如果我做re.split(r'[,]*', 'Dogs,cats'),那么我得到['Dogs', 'cats'],这是好的,但如果我得到'Dogs, cats',那么我得到一个列表['Dogs', ' cats'],这是不好的。如何让我的正则表达式模式匹配,无论是有一个逗号没有空间或有空间仍然给我['Dogs', 'cats']Python上的正则表达式,逗号,空格

我试过re.split(r'[\s,]*', 'Dogs,cats')虽然在这里有效,但在有发言权'dogs,cats are Happy'的情况下,它给出了不必要的分裂。

回答

4

你的第一个案例甚至不需要一个正则表达式。你可以简单地做:

"Dogs,Cats".split(",") 

对于你的第二情况下,你可以使用:

re.split(r',\s*', "Dogs, Cats") 
+0

@MartijnPieters。 OOP与Java混合在一起。 –

+0

是的,我之前使用过'split'方法,但问题出现在','之后有一个空格,这会弄乱我想要的结果。 –

+0

@EdgarAroutiounian。好的,那么你可以使用第二个选项。 –