如何剥离双空格并留下新线?蟒蛇

I15*_*159 2 python string whitespace newline strip

如何剥离双空格并留下新线?没有可能re吗?

如果我有类似的东西:

string = '   foo\nbar  spam'
Run Code Online (Sandbox Code Playgroud)

我需要得到:

'foo\nbar spam'
Run Code Online (Sandbox Code Playgroud)

' '.join(string.split()) 删除所有空格,包括新行:

>>> ' '.join(string.split())
'foo bar spam'
Run Code Online (Sandbox Code Playgroud)

' '.join(string.split(' ')) 没做什么.

jam*_*lak 7

>>> text = '   foo\nbar      spam'
>>> '\n'.join(' '.join(line.split()) for line in text.split('\n'))
'foo\nbar spam'
Run Code Online (Sandbox Code Playgroud)

这将它分成几行.然后它按空格分割每一行,并用单个空格重新连接.然后它重新加入线条.