如何用Python把单行文本处理成两行并对齐?

查看:116
本文介绍了如何用Python把单行文本处理成两行并对齐?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

][1]

[]内的文字新建一行秒自动对齐[]右边的文字。
如果一行内 只有一个[],一个中文占2个空格,英文占一个,就能做到,但如果出现多个[]就想不到了。

请教用python处理这样的问题应该怎么做呢?

谢谢!!

ps:[]内的字符不单一,有的是[F],有的可能是[Fm]、[Fmaj7]多个字符。

解决方案

python3

设置字体为 等宽字体

>>> s='[F]内的文字新建一行秒自动对齐[C]右边的文字'
>>> import re
>>> ptn=re.compile(r'\[([^]]+)\]([^[]+)')
>>> ss='';t=''
>>> for x,y in ptn.findall(s):
    ss+=('{:<%d}'% len(bytes(y,'gbk'))).format(x)
    t+=y

    
>>> print(ss,t,sep='\n')
F                         C         
内的文字新建一行秒自动对齐右边的文字


这篇关于如何用Python把单行文本处理成两行并对齐?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆