2017-01-18 123 views
-2

我有一个看起来像这样的字符串,其中“ - ”表示空白块或只是一个换行符(它是随机的,它是否是一些空格然后换行或仅仅是换行):如何在python 2.7中用空白代替一块空白

“你好,我的名字是
罗伯特,我试图找出
-
-
-

出这个代码
谢谢”

我真正想要做的是摆脱所有的空格/换行符之间的‘数字’和‘出’的其他空间我希望,让他们以同样的方式,如果我能。最终的字符串我想应该是这样的:

“你好,我的名字是
罗伯特,我试图找出
出这个代码
感谢”

有一个简单的如何做到这一点?任何帮助是极大的赞赏!

+2

'str.split'在默认情况下会在空白处分裂,''“.join(s.split())'也适合你吗? – Ryan

+0

使用正则表达式:'import re; re.sub(r'\ s +','','你好我的名字是罗伯特,我正在努力找出这个代码。\ n感谢')' –

+0

你也可以'str.replace('\ n \ n','')''从字符串中删除空行 –

回答

2

完成此操作的一种方法是使用正则表达式,这将简单地使我们能够找到空间和换行符的运行。以下代码应该适用于您的目的:

import re 
string = 'lorem ipsum dolor\n\n sic\n\n\n lorem' 
string = re.sub(r' +', ' ', string) 
string = re.sub(r'\n+', '\n', string) 

这将用一个空格替换所有空格的运行,并用一个换行符替换所有新行的运行。