如何去除双空格并留下新行?没有可能re
吗?
如果我有这样的事情:
string = ' foo\nbar spam'
我需要得到:
'foo\nbar spam'
' '.join(string.split())
删除所有空格,包括新行:
>>> ' '.join(string.split())
'foo bar spam'
' '.join(string.split(' '))
没做什么。
如何去除双空格并留下新行?没有可能re
吗?
如果我有这样的事情:
string = ' foo\nbar spam'
我需要得到:
'foo\nbar spam'
' '.join(string.split())
删除所有空格,包括新行:
>>> ' '.join(string.split())
'foo bar spam'
' '.join(string.split(' '))
没做什么。
>>> text = ' foo\nbar spam'
>>> '\n'.join(' '.join(line.split()) for line in text.split('\n'))
'foo\nbar spam'
这将其分成几行。然后它用空格分割每一行并用单个空格重新加入。然后它重新加入行。
text = [' '.join(i.split()) for i in text.split('\n') if not i.isspace()]
text = '\n'.join(text)
可以使用 strip 或 lstrip 函数:
line = ' foo\nbar spam'
while ' ' in line:
line = line.replace(' ', ' ')
line = line.strip(' ')