在python中有没有办法将一个单词分成相等的部分?

Is there a way of splitting a word into equal parts in python?

几周前我问过这个问题,我得到了答案

但是无论字符串的长度如何,我都需要将输出分成相等的部分,所以在第一个 post 中,我得到了这个答案,并且由于 (AziMez)他给了我代码并且工作得很好

代码:

import re
string = "RV49CJ0AUTS172Y"

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

print(separated)

我得到了当时我想要的输出:

RV49C-J0AUT-S172Y

但是现在我把这个东西做成了基于用户的,所以用户输入一个字符串的长度,它把字符串分成相等的部分,就像我有这个输入一样:

RV49CJ0AUTS172Y

我得到这个输出:

RV49C-J0AUT-S172Y

这是我最初得到的,但我并没有竭尽全力 例如 这是一个 12 字符的字符串:

char = B1NS8XMA0LO5

我想得到这个输出:

separated = B1NS-8XMA-0LO5

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

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

但我不能保持这种方式,因为用户输入会不时变化,我希望根据用户输入完成此操作我希望将 char 分成相等的部分,由一个连字符(就像我在输出部分所做的那样) 谢谢

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