0
ファイルに保存する長い文字列があります。言葉はスペースで区切られています。長い文字列の単語の合計は3で割り切れます。ひねりのあるn文字未満の文字列を分割する方法
基本的に私は文字列を塊に分割する方法を探しています。各チャンクはn文字未満であり、チャンク内の単語数も3で割り切れる。
>>> longstring = "This is a very long string and the sum of words is divisible by three"
>>> len(longstring.split())
>>> 15
は最大行の長さがn = 30であると言う:
>>>split_string(longstring, 30)
['This is a very long string', 'and the sum of words is', 'divisible by three']
まとめ:
- ルールは以下のとおりです。Noライン長n文字より。
- 新しい行にはそれぞれ3つの単語の倍数が必要です。 、
は、これまでのところ私はtextwrapを使用してみましたが、私は、文字列内の単語の合計数は常に3で割り切れることが確実な場合2.
import textwrap
textwrap.fill(long_line, width=69)
私はあなたの第2条件が常に可能であるとは確信していません。どのように10ワードの行を3の倍数の行に分割しますか? 3の倍数の入力を保証されていますか? –
文字列内の単語の総数は3で割り切れます。 – ad1v7
文字列を単語に分割し、各単語に対して現在の文を長すぎるかどうかをテストします。そうであれば、現在の文をフリーズし、その語を次の行の先頭として使用します。 –