python字符串对齐可以使用字符串的 ljust() , rjust() 和 center() 方法,
ljust() 字符串靠左,需要填写两个参数,第一个参数为长度,指的是字符串需要格式化输出的总长度,第二个参数为填充的字符
当填充遇到中英文混合字符时,由于中文占用的字节长度不等于2个英文的特性,填充完毕仍然无法对齐,此时我们可以选择使用中英文混合填充,计算出英文和中文的字符个数,先将字符串的英文补齐,比如所以字符串中,英文字符最大个数为3,此时字符串占用的英文字符长度一致,然后再使用ljust 填充中文字符
英文字符我们可以使用英文空格,中文空格为 chr(12288)ce
def is_Chinese(ch):
if '\u4e00' <= ch <= '\u9fff':
return True
return False
def algin(title_key,max_english):
chinese_count = 0
english_count = 0
for j in str(title_key):
if is_Chinese(j):
chinese_count = chinese_count + 1
else:
english_count = english_count + 1
temp = max_english-english_count
while temp > 0:
title_key = title_key + ' '
temp = temp-1
title_key = title_key.ljust(7, chr(12288))
print(title_key + '-')
return title_key
if __name__ == '__main__':
algin("a一二三",3)
algin("aa一二三", 3)
algin("aaa一二三", 3)
algin("a一二三aa", 3)
测试结果