同时具有空间和破折号
问题描述:
我有一个产生以下的迭代蟒蛇分割字符串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']
。这不是我想要的。
我该如何分割字符串以实现我想要的?
答
您确定您在' - '....的任一侧有简单的空格字符吗?无论是在主题字符串中还是在分割参数中? 您的编辑器可能正在插入一个选项卡。否则,将'space space'序列作为arg的简单split()将做你想做的事。
我的想法是:“他有什么应该工作,那么还有什么可能出错?
>>> z = "always-red-xxx-sss - blue"
>>> z.split(" - ")
['always-red-xxx-sss', 'blue']
答
您可以使用rsplit()以所需格式拆分字符串。
>>> string="always - blue"
>>> string.rsplit(' - ')
['always','blue']
>>> string2="mostly-blue - yellow"
>>> string2.rsplit(' - ')
['mostly-blue','yellow']
为什么'a.split(“ - ”)'工作?你也想'列表'或'str'ings作为输出? –
'a.split(“ - ”)'应该可以工作。 –
你想要的结果真的是'''''总是','蓝色']“'还是实际上'[”总是“,”蓝色“]? –