2017-07-03 50 views
0

我有一个产生以下的迭代蟒蛇分割字符串string同时具有空间和破折号

"always - blue" 
"sometimes-yellow - red" 
"seldom - blue" 
"maybe-red - blue" 
"mostly-blue - yellow" 

我所试图做的是" - "

所需的结果分裂字符串

['always', 'blue'] 
['sometimes-yellow', 'red'] 
['seldom', 'blue'] 
['maybe-red', 'blue'] 
['mostly-blue', 'yellow'] 

我已经试过a.split("-"),并a.split(" - ")但这似乎送在每一次出现-的时候都会分裂。 ['sometimes-yellow', 'red']分成['sometimes', 'yellow', 'red']。这不是我想要的。

我该如何分割字符串以实现我想要的?

+1

为什么'a.split(“ - ”)'工作?你也想'列表'或'str'ings作为输出? –

+12

'a.split(“ - ”)'应该可以工作。 –

+0

你想要的结果真的是'''''总是','蓝色']“'还是实际上'[”总是“,”蓝色“]? –

回答

0

您确定您在' - '....的任一侧有简单的空格字符吗?无论是在主题字符串中还是在分割参数中? 您的编辑器可能正在插入一个选项卡。否则,将'space space'序列作为arg的简单split()将做你想做的事。

我的想法是:“他有什么应该工作,那么还有什么可能出错?

>>> z = "always-red-xxx-sss - blue" 

>>> z.split(" - ") 

['always-red-xxx-sss', 'blue'] 
0

您可以使用rsplit()以所需格式拆分字符串。

>>> string="always - blue" 
>>> string.rsplit(' - ') 
['always','blue'] 
>>> string2="mostly-blue - yellow" 
>>> string2.rsplit(' - ') 
['mostly-blue','yellow'] 
相关问题