これが重複している場合は申し訳ありませんが、文字数に基づいて文字列を分割することを含むものは何も見つからないようです。たとえば、次の文字列があるとします。
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ullamcorper, eros
sed porta dapibus, nunc nibh iaculis tortor, in rhoncus quam orci sed ante. Sed
ac dictum nibh.
これで、特定の文字に基づいて文字列を分割できますが、この文字列を n番目の文字の後に分割するにはどうすればよいでしょうか? このようなもので、機能する構文のみが私が考えていることです:
max_char = n #where n is the number of characters to split after
MyText = 'User input string. This is usually at least a paragraph long.'
char_count = len(MyText)
if char_count > max_char:
#split string at max_char, create variables: MyText1 and MyText2
どんな助けでも大歓迎です。ありがとう!
アップデート
私の質問は私の問題の半分にしか近づいていなかったので、この更新を投稿したいと思いました。以下のMartijinの回答のおかげで、上の文字列を簡単にスライスできました。しかし、私が編集していた文字列はユーザーが投稿したものだったので、単語を半分にスライスするという問題に遭遇しました。この問題を解決するために、rsplit
とrstrip
を組み合わせて段落を正しく分割しました。誰かが私と同じ問題に直面している場合に備えて、これを機能させるために使用したコードを次に示します。
line1 = note[:36]
line2 = note[36:]
if not line1.endswith(' ', 1):
line2_2 = line1.rsplit(' ')[-1]
line1_1 = line1.rstrip(line2_2)
line2_2 = line2_2 + line2
line1 = ''
line2 = ''
これを行うためのより効率的でエレガントな方法があると確信していますが、これはまだ機能するので、誰かが恩恵を受けることができれば幸いです。ありがとう!