2013-11-26 26 views
0

您将如何根据条件使用.split()函数?根据条件使用.split()函数?

可以说我有原始数据:

Apples,Oranges,Strawberries Green beans,Tomatoes,Broccoli 

我预期的结果是:

['Apples','Oranges','Strawberries','Green beans','Tomatoes','Brocolli'] 

难道能够把它分割为逗号,如果有一个空格和大写信后面呢?

+0

对于每个大写字母,使用're.split'。 – aIKid

+0

@aIKid:把答案放在答案中,而不是评论。 –

+0

@EthanFurman哈哈。我不太了解正则表达式,我会把它留给你们的正则表达式专家。 – aIKid

回答

4

的你问的字面解释,使用re.split

import re 
pat = re.compile(r'\s(?=[A-Z])|,') 
pat.split(my_str) 

这是更简单地完成,你的情况:

pat = re.compile(r'.(?=[A-Z])') 

基本上,随后在任何性格分裂的大写字母

+0

这对我来说非常合适。 –

1

使用正则表达式会使代码比复杂的拆分语句更简单。

import re 
... 
re.findall(", [A-Z]",data) 

请注意,您要求命令,空间,大写的分割,但在您的示例中逗号后没有空格。

+2

're.findall(“,[A-Z]”,data)'?这似乎不会做太多。 – DSM

+0

我到底会如何使用它? –

+0

Try @ roippi的解决方案,它更好。 – aIKid