在Python中的第n个字符上拆分字符串

时间:2013-10-10 18:29:23

标签: python split slice

我想知道如何在每个第n个字符/字母(在我的例子中是第5个字符/字母)中切割我的Python字符串。

所以我有这个字符串"ilikestackoverflow",我希望输出为"ilike stack overf low"

2 个答案:

答案 0 :(得分:4)

 x = zip(*[iter(my_array)]*5)

是一种很酷但难以阅读的方式

通常使用列表理解来完成

n = 5
x = [my_array[i:i+n] for i in range(0,len(my_array),n)]

这篇文章解释了iter最佳答案http://www.stavros.io/posts/brilliant-or-insane-code/

答案 1 :(得分:1)

一个好的'正则表达式怎么样?

>>> string = "Ireallylovemyregularexpressions!"
>>> print re.sub(r'(.{5})', r'\1 ', string)
Ireal lylov emyre gular expre ssion s!  

(.{5})匹配每5个字符,r'\1 '将这5个字符替换为相同的5个字符加上空白字符。


这也有效:

>>> m = re.split(r'(.{5})', 'Ilovestackoverflowsobad')
>>> print m
['', 'Ilove', '', 'stack', '', 'overf', '', 'lowso', 'bad']
>>> for word in m:
...     if word == '':
...         pass
...     else:
...         print word,
... 
Ilove stack overf lowso bad