在每第三个空格上拆分一个字符串

时间:2015-04-13 19:22:26

标签: python python-3.x

如何在每隔三个空格分割一个字符串?我想知道python是否具有内置语法或者是否可以使用列表推导来完成。

"a bb c dd ee f" -> ["a bb c", "dd ee f"]

2 个答案:

答案 0 :(得分:4)

re.split(r'(.*?\s.*?\s.*?)\s', "a bb c dd ee f")

并从结果中删除空字符串:

[x for x in re.split(r'(.*?\s.*?\s.*?)\s', "a bb c dd ee f") if x]

答案 1 :(得分:1)

作为一种更通用的方式,您可以使用函数:

>>> def spliter(s,spl,ind):
...    indx=[i for i,j in enumerate(s) if j==spl][ind-1]
...    return [s[:indx],s[indx+1:]]
... 
>>> s="a bb c dd ee f"
>>> spliter(s,' ',3)
['a bb c', 'dd ee f']