2017-02-02 17 views
0

我有一个长的字符串:字环绕字符串的记录在Python

S='Hello\n i have a very very very very..... very very very very.... long Text!' 

打印本文创建一个长线,我想打破行成10个或20个字符的最大长度件。我想打破\n并且在新字符串中包含\n

我希望什么:

Hello 
i have a very 
very very very 
..... very very 
very very.... 
long Text! 
+2

你能编辑一下你的问题吗? – saloua

+1

请参阅[**'textwrap' **](https://docs.python.org/2/library/textwrap.html) –

+0

[Pythonic方式创建长多行字符串](http:/ /stackoverflow.com/questions/10660435/pythonic-way-to-create-a-long-multi-line-string) – cpburnz

回答

-1

您可以使用'''YOUR BIG STRING IN PARAGRAPH WHAT YOU WANT'''

-2

您还可以使用双引号,而不是单一的,如果这是你想要的。

s = """ this is a very 
     long string if I had the 
     energy to type more and more ...""" 
+0

我说过别的吗?我的回答很相似,为什么又是同样的答案? –

0

textwrap.wrap允许您将字符串包装到某个width

默认情况下,它会在包装之前用单个空格(包括换行符)替换空白。

设置replace_whitespace=False如果你想保持换行符等

>>> import textwrap 
>>> s = 'Hello\n i have a very very very very..... very very very very.... long Text!' 
>>> print('\n'.join(textwrap.wrap(s, width=20, replace_whitespace=False))) 
Hello 
i have a very 
very very very..... 
very very very 
very.... long Text! 

replace_whitespace的文档:

(默认:True如果为true,选项卡扩展之后,但之前包裹, wrap()方法将用一个空格替换每个空白字符。替换的空白字符如下所示:制表符,换行符,垂直制表符,换页符和回车符('\t\n\v\f\r')

注意如果expand_tabs为false并且replace_whitespace为true,则每个制表符将被单个空格替换,这与制表符扩展不同。

注意如果replace_whitespace为假,换行符可能出现在一行的中间并导致奇怪的输出。出于这个原因,文本应该被拆分成段落(使用str.splitlines()或类似的),它们被分开包装。