【发布时间】:2013-11-07 06:54:28
【问题描述】:
这是我的一些代码:
def breakUp(x,chunk_size):
return [ x[i:i+chunk_size] for i in range(0, len(x), chunk_size) ]
它是这样工作的:
In [8]: breakUp('This is a cool sentence... How about eating it??? Whats more?? pepper is available all for free!!!',10)
Out[8]:
['This is a ',
'cool sente',
'nce... How',
' about eat',
'ing it??? ',
'Whats more',
'?? pepper ',
'is availab',
'le all for',
' free!!!']
但是正如你在第二个元素中看到的,句子这个词没有被完全理解,它说“sente”......
我知道这是因为我已经要求 python 在每 10 个字符之后分割它......无论如何指定我想在每 10 个字符之后分割,但如果是第 10 个字符。以一个单词结尾,取整个单词...?
【问题讨论】:
-
这听起来像是家庭作业,但我会将行拆分为单词(定义为用空格分隔的字母),然后添加单词和空格,直到 >= chunk_size。
-
不,但我希望块是 x characters 长...我知道提到的约束会导致半字。但我现在想要的是块应该是大约。 x 字符 长。我可以承受在两边移动一些字符以吞没不合适的单词
-
然后算出你可以作为一个数字允许多少模糊,将这些词加到一个字符串中,然后检查
len,看看它是否在你的+-chunk_size范围内。跨度>