使用Python来解决这个问题:
a = "text"
print('{0:>10}'.format(a))
# output: text
b = "\x1b[33mtext\x1b[0m"
print('{0:>10}'.format(b))
# output: text
正如您所看到的,一旦将着色标记添加到文本中,右对齐就会停止工作。第二个"文本"应该缩进为第一个,但事实并非如此。
答案 0 :(得分:1)
这是预期的,因为数据已经超过了字段宽度:
>>> len(b)
13
>>> len('{0:>10}'.format(b))
13
要查看解决方法,请点击此处:Printed length of a string in python(特别是the answer from user dawg)