在Python中,有没有一种方法可以将一个单词分割成等分?

2022-04-02 00:00:00 python string input split user-input

问题描述

几周前我问了这个问题,得到了答案this is the original post

但我需要将输出分成相等的部分,无论字符串的长度如何,所以在我发布的第一个帖子中,我得到了这个答案,它很好地工作了,这要归功于(AziMez)他给了我代码,工作得很好

编码:

import re
string = "RV49CJ0AUTS172Y"

separated = "-".join(re.findall('.{%d}' % 5, string))

print(separated)

我有这个输出,这是我当时想要的:

RV49C-J0AUT-S172Y

但现在我将其设置为User Based,这样用户向字符串输入一个长度,它就会将字符串分成相等的部分,就像我有这样的输入一样:

RV49CJ0AUTS172Y

我得到此输出:

RV49C-J0AUT-S172Y
这是我最初得到的,但我并没有全力以赴 例如 这是一个12个字符的字符串:

char = B1NS8XMA0LO5

我要获取此输出:

separated = B1NS-8XMA-0LO5

我总是可以将原始代码中的数字改为4:

separated = "-".join(re.findall('.{%d}' % 4, string))
但我不能保持这种方式,因为用户输入会随时间变化,我希望根据用户输入完成此操作,我希望字符被分成相等的部分,并用连字符分隔(就像我在输出部分中所做的那样) 谢谢


解决方案

length = int(len(string) / 3)
separated = "-".join(re.findall('.{%d}' % length, string))

相关文章