2017-01-18 165 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) 

這將用一個空格替換所有空格的運行,並用一個換行符替換所有新行的運行。