Python 自然断开一根绳子
在呈现标题(使用reportlab)时,如果标题长度超过45个字符,我希望将其拆分为两行。到目前为止,我有:Python 自然断开一根绳子,python,Python,在呈现标题(使用reportlab)时,如果标题长度超过45个字符,我希望将其拆分为两行。到目前为止,我有: if len(Title) < 45: drawString(200, 695, Title) else: drawString(200, 705, Title[:45]) drawString(200, 685, Title[45:]) 如果len(标题)
if len(Title) < 45:
drawString(200, 695, Title)
else:
drawString(200, 705, Title[:45])
drawString(200, 685, Title[45:])
如果len(标题)<45:
抽绳(200695,标题)
其他:
抽绳(200705,标题[:45])
抽绳(200685,标题[45:]
问题是,我只想在自然中断时分割标题,例如出现空格的位置。如何实现这一点?请参见以下示例代码:
import textwrap
print("\n".join(textwrap.wrap("This is my sooo long title", 10)))
输出:
This is my
sooo long
title
请参阅完整的Python文档:使用rfind(“”,0,45)
查找边界前的最后一个空格并在该位置打断。如果没有空格(rfind返回-1),请使用您拥有的代码
s = 'this is a long line with a bunch of text for sure and goes on and on ..'
brk = s.find(' ', 45)
if brk == -1:
print s
else:
print('{:s}\n{:s}'.format(s[:brk], s[brk+1:]))
你自己滚,也许没那么优雅。。收益率:
this is a long line with a bunch of text for sure
and goes on and on ..
我不确定是否有其他选择。我可以建议,用背景色绘制文本框作为背景页,宽度为45,收缩为1。因此,超过45个字符的文本将在字尾处缩小。Python中内置的内容继续让我感到惊讶。如果没有自然中断(例如,空白,超过44个字符),该怎么办?