繁体   English   中英

Python每n个字符分割字符串

[英]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.

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