擅长:python、mysql、java
<p>看起来你需要在一个特定的长度后将整个单词括起来,而忽略空格;我会这样做:</p>
<pre><code>def wrap(text, length):
words = text.split()
lines = []
line = ''
for w in words:
if len(w) + len(line) > length:
lines.append(line)
line = ''
line = line + w + ' '
if w is words[-1]: lines.append(line)
return '\n'.join(lines)
</code></pre>
<p>这基本上是通过将文本拆分成完整的单词,然后将它们的行集合到您的换行长度。这样你就不必知道你是不是想在一个词中间打断。我没有费心去检查你的<code>length</code>是否比你最长的单词短,但这也是一个考虑因素。在</p>