[英]Python split string every n char
我想每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
您可以str.join()
使用str.join()
:
>>> '*'.join(r)
'MI*SS*IS*SI*PP*I'
这是对r
的字符串进行迭代,然后将它们连接起来,并插入'*'
。
您还可以使用re
模块:
import re
r = '*'.join(re.findall('..|.$', s))
输出:
'MI*SS*IS*SI*PP*I'
好了,您只需再增加1行:
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)
打开包装,然后使用自定义分隔符:
>>> print(*r, sep='*')
MI*SS*IS*SI*PI
如果要在输出中使用方括号,请改用字符串格式。
>>> print('[{}]'.format('*'.join(r)))
[MI*SS*IS*SI*PI]
我们可以使用字符串数据结构的split和join方法。
x = 'MI*SS*IS*SI*PP*I'
xlist = x.split('*')
'*'.join(xlist)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.