【问题标题】:How to you split a string into 10 letters each in python? [duplicate]如何在python中将一个字符串分成10个字母? [复制]
【发布时间】:2019-11-02 21:52:57
【问题描述】:

这是我的字符串:

data = abdskjfdskjfjkdseiruiskdfdsdfjsdjkfdsdfsdjk 

我想把我的数据分成10秒

所以,我希望我的输出看起来像:

abdskjfdsk
jfjkdseiru

对字符串的其余部分以此类推。

我试过了:

chunks, chunk_size = len(data), len(data)//10
[ data[i:i+chunk_size] for i in range(0, chunks, chunk_size) ]

但它没有改变任何东西,我的输出是

data = abdskjfdskjfjkdseiruiskdfdsdfjsdjkfdsdfsdjk 

编辑: 这解决了这个问题:

import re
re.findall('.{10}', data)

谢谢!!

【问题讨论】:

  • 如果执行 x = [data[ ......] 会发生什么;打印(x)?

标签: python python-3.x string split


【解决方案1】:

使用re.findall

>>> import re
>>> re.findall('.{10}', data)
['abdskjfdsk', 'jfjkdseiru', 'iskdfdsdfj', 'sdjkfdsdfs']

. 匹配任何字符(行终止符除外)

{10} 量词——精确匹配 10 次

【讨论】:

    【解决方案2】:

    当您有一个字符串时,您可以使用括号 [] 将字符串的每个元素作为子集。也就是说,如果您想要列表的前三个元素,您可以使用:

    data[0:3]
    

    接下来,我们将利用列表理解技术多次执行此过程:

    [data[character:character+10] for character in range(0, len(data),10)]
    

    【讨论】:

    • 一些解释会很好。
    猜你喜欢
    • 1970-01-01
    • 2021-11-18
    • 2013-02-11
    • 2015-01-28
    • 1970-01-01
    • 1970-01-01
    • 2013-06-11
    • 1970-01-01
    • 2014-11-26
    相关资源
    最近更新 更多