python - 如何指定字符串的填充字符并将其按 block 分割?

标签 python string python-3.x

我正在尝试按每个 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/

相关文章:

python - 从另一个对象分配 __len__() 方法

python - Django-过滤多个URL参数

python-3.x - 神奇8球txt文件列表

python - 如何用 python 做 FLAC 或 mpeg

c++ - I/O 流字符串操作(正确的 Cin/cout 运算符 <</>>)

java - JAVA中空字符串的奇怪行为

ios - 将字符串数组显示为多行字符串 - Swift

python - 根据优先级在 Pandas 数据框中创建二进制列

python - Django manage.py syncdb 抛出没有名为 MySQLdb 的模块

python - 从 POST 请求获取对神经网络 web.py 包装器的响应