如何正确格式化全角unicode字符串

时间:2018-11-16 16:06:54

标签: python string-formatting python-unicode unicode-string

似乎python仅添加了一个半角空格来格式化字符串,但是对于全角字符,应该有一个全角空格或两个半角空格。有什么解决办法吗?

代码是:

Customers

然后输出:

template = "{:3s}测试"
print(template.format("测试"))
print(template.format("测试二"))

当我将测试 测试 测试二测试 更改为3时,输出为:

4

但是我想要的输出是

测试  测试
测试二 测试

1 个答案:

答案 0 :(得分:0)

请参见python docs format-examples,第6个示例显示我们可以使用{:*^30}来使文本居中并用*填充(^表示居中以及前面的字符是填充字符)。在此示例中,只需使用全角空格 来替换*

最后,我的模板字符串是:

{: >3s}测试

>表示右对齐。有关所有对齐字符,请参见python docs format-specification

输出为:

 测试测试
测试二测试

我还尝试使用两个半角空格作为填充字符,但是它引发了ValueError: Invalid format specifier

希望答案会在将来对某人有所帮助