Guillaume
Guillaume

Reputation: 2918

python - cut a string in 2 lines

I'm looking for a line (using str.join I think) to cut a long string if the number of word is too much. I have the begining but I don't know whow to insert \n

example = "Au Fil Des Antilles De La Martinique a Saint Barthelemy"

nmbr_word =  len(example.split(" "))
if nmbr_word >= 6:
   # cut the string to have

result = "Au Fil Des Antilles De La\nMartinique a Saint Barthelemy"

Thanks

Upvotes: 0

Views: 479

Answers (2)

Tim Pietzcker
Tim Pietzcker

Reputation: 336128

How about using the textwrap module?

>>> import textwrap
>>> s  = "Au Fil Des Antilles De La Martinique a Saint Barthelemy"
>>> textwrap.wrap(s, 30)
['Au Fil Des Antilles De La', 'Martinique a Saint Barthelemy']
>>> "\n".join(textwrap.wrap(s, 30))
'Au Fil Des Antilles De La\nMartinique a Saint Barthelemy'

Upvotes: 1

Ben Usman
Ben Usman

Reputation: 8387

How about:

'\n'.join([' '.join(nmbr_word[i:i+6]) for i in xrange(0, len(nmbr_word), 6)])

Upvotes: 0

Related Questions