每n个字符分割一次字符串,但不分割单词

Poe*_*dit 5 python text split tokenize python-3.x

假设我在python

orig_string = 'I am a string in python'
Run Code Online (Sandbox Code Playgroud)

如果我们假设我想每10个字符分割一次该字符串,但又不分割一个单词,那么我想要这样:

strings = ['I am a ', 'string in ', 'python']
Run Code Online (Sandbox Code Playgroud)

或这个(在分割处没有空格):

strings = ['I am a', 'string in', 'python']
Run Code Online (Sandbox Code Playgroud)

因此,应该在每种情况下均应先进行拆分的单词之前进行拆分。

否则,我会有这个:

false_strings = ['I am a str', 'ing in pyt', 'hon']
Run Code Online (Sandbox Code Playgroud)

只是提到,在我的情况下,我想每15k个字符执行一次此操作,但是我给出了上面每10个字符的示例,以便可以在此处以简洁的方式编写它。

最有效的方法是什么?

And*_*ely 5

您可以使用内置textwrap.wrap函数 ( doc ):

orig_string = 'I am a string in python'

from textwrap import wrap

print(wrap(orig_string, 10))
Run Code Online (Sandbox Code Playgroud)

印刷:

['I am a', 'string in', 'python']
Run Code Online (Sandbox Code Playgroud)

  • 当 2 个人已经在评论中提出了这个建议时,写一个答案是否是好的*礼节*? (4认同)
  • @Chris_Rands 我不认为这是*礼仪*的失误。答案属于答案部分,可以对它们进行投票和选择。 (4认同)
  • 我准备好了不介意只要我们最终得到一个高质量的答案 (2认同)