繁体   English   中英

在每三个空格处分割一个字符串

[英]Split a string on every third space

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

"a bb c dd ee f" -> ["a bb c", "dd ee f"]
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]

作为更通用的方法,您可以使用函数:

>>> 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']

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM