Python每隔n个字符串拆分字符串

时间:2016-01-24 08:31:51

标签: python string python-2.7 join python-2.x

我想每隔n个字符串拆分一个字符串,打印必须是这样的:

MISSISSIPPI => MI*SS*IS*SI*PP*I

我已经完成了某项计划,但我不知道如何使用,更改*。这是代码:

n=input('chunk size')
s=input('Add word')
import re
r=[s[i:i+n] for i in range(0, len(s), n)]
print (r)

这是输出:

['MI', 'SS', 'IS', 'SI', 'PP', 'I']

但我希望它是这样的:

MI*SS*IS*SI*PP*I

5 个答案:

答案 0 :(得分:2)

您可以使用str.join()

>>> '*'.join(r)
'MI*SS*IS*SI*PP*I'

这样做是迭代r中的字符串,然后加入它们,插入'*'

答案 1 :(得分:2)

你也可以使用signeduser = db.GqlQuery("SELECT * FROM User WHERE username=self.username") 模块:

re

输出:

import re

r = '*'.join(re.findall('..|.$', s))

答案 2 :(得分:2)

就在您所处的位置,您还需要再添加一行:

r = '*'.join(r)

那么你的程序就变成了

n=input('chunk size')
s=input('Add word')
import re
r=[s[i:i+n] for i in range(0,len(s),n)]
r = '*'.join(r)
print (r)

答案 3 :(得分:1)

将其解压缩,然后使用自定义分隔符:

>>> print(*r, sep='*')
MI*SS*IS*SI*PI

如果要在输出中使用括号,请改用字符串格式。

>>> print('[{}]'.format('*'.join(r)))
[MI*SS*IS*SI*PI]

答案 4 :(得分:0)

我们可以使用字符串数据结构的split和join方法。

x = 'MI*SS*IS*SI*PP*I' xlist = x.split('*') '*'.join(xlist)