Python列出特定字符数下的段落

2024-09-28 19:30:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图以某种方式显示一个段落:

import textwrap

y = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
z = textwrap.wrap(y, width = 80)

for element in z:
    print(element)

这给了我一个很好的段落,每行不超过80个字符。 enter image description here 不过,我也只想列出前几句话,作为一个整体不超过250个字符。如果每行是80,这意味着接近,但不超过第三行。是否可以在我指定的循环中执行此任务?你知道吗


Tags: inimport方式element段落ipsumloremut
1条回答
网友
1楼 · 发布于 2024-09-28 19:30:13

只需要用一个片段,然后找到最后一个句点来切掉任何偏句。你知道吗

text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."

character_limit = 250
short_text = text[:character_limit]
short_text = short_text[:(short_text.rfind('.') + 1)]

>>> print('\n'.join(line for line in textwrap.wrap(short_text, width=80)))
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor
incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis
nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

你可以在你的循环中这样做,但是弄清楚截止点在哪里会更复杂。在打印之前清理文本要容易得多。你知道吗

相关问题 更多 >