我正在尝试按每个 n 个字符拆分一个整数字符串,然后将它们转换为 unicode。不幸的是,我遇到了一个问题......由于前导 0 已从字符串中删除,这让我对如何处理它们感到困惑。 这是一个例子:
print(num2txt(97097114103104))
这里前导 97 是 ASCII 表中的有效数字,我可以简单地在字符串前添加一个“0”,以便整个字符串将被正确地分割成如下所示:
['097', '097', '114', '103', '104']
但是,如果前三位数字在 ASCII 表中实际上有效怎么办? 像这样:
100097114103
在本例中,我希望将其拆分为
['100', '097', '114']
但是如果我的函数中发生了某些事情,我如何确保它不再需要“0”?
我当前的代码如下:
def num2txt(num, k=3):
line = str(num)
line = "0" + line
line = [line[i:i+k] for i in range(0, len(line), k)]
return line
最佳答案
必要时只需添加前导零。
def num2txt(num, k=3):
line = str(num)
padding = len(line)%k
if padding:
line = '0'*(k-padding) + line
line = [line[i:i+k] for i in range(0, len(line), k)]
return line
关于python - 如何指定字符串的填充字符并将其按 block 分割?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36565149/