中学理科1627080 views
数学講師2858583 views
教育149005 views
高校化学2914654 views
いろは2990632 views
Computer365661 views
りんご195339 views
英語608783 views
MathPython492451 views
高校生物550093 views
Help
Tools

English

Python の textwrap で文字列を折り返す(長さを超える単語を切らない方法)

Python の textwrap を使うと、文字列を折り返したときのリストを得られます。

import textwrap

text = "Hello. My   name  is pineapple. My only friend is peach."

chunks = textwrap.wrap(text, width=12)

print(chunks)
# ['Hello. My', 'name  is', 'pineapple.', 'My only', 'friend is', 'peach.']

分割された部分文字列はトリミングされています。ここで折り返す長さを短くするとパイナップルは分割されてしまいます。

import textwrap

text = "Hello. My   name  is pineapple. My only friend is peach."

chunks = textwrap.wrap(text, width=6)

print(chunks)
# ['Hello.', 'My', 'name', 'is pin', 'eapple', '. My', 'only', 'friend', 'is', 'peach.']

「長さを超えても単語は折り返さない」という制約があるときは break_long_words を False にします。

import textwrap

text = "Hello. My   name  is pineapple. My only friend is peach."

chunks = textwrap.wrap(text, width=6, break_long_words=False)

print(chunks)
# ['Hello.', 'My', 'name', 'is', 'pineapple.', 'My', 'only', 'friend', 'is', 'peach.']

パイナップルが切られずにすみました。