2017-07-03 78 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']