如何仅删除空行并保留订单

时间:2017-09-12 10:52:00

标签: python python-2.7

ShowOwi

g exsu n

Sierouz

nicee99

这是我使用tesseract执行ocr后得到的输出。空白区域发生变化有时候用户名之间有多个空白,有时用户名之间没有空白。我正在尝试找到一个解决方案来剥离这些空白行.I想要在写入文件之前去除它们。如何只删除空格,但使用python将它们保留在另一个下面。

我在SO中经历了类似的问题,但对我来说似乎没什么用。

2 个答案:

答案 0 :(得分:3)

如何简单地过滤你的行:

lines = output.splitlines()
filtered = [line for line in lines if line.strip()]

if line.strip()隐含地检查line.strip() != ""(空字符串是假值)。

当然,这也可以使用功能方式完成:

filtered = filter(lambda line: line.strip(), lines)

要获得一个字符串:

new_output = '\n'.join(filtered)

答案 1 :(得分:2)

只需使用re.sub()功能:

import re

s = '''
ShowOwi

g exsu n

Sierouz


nicee99
'''

result = re.sub('\n+', '\n', s.strip())
print(result)

输出:

ShowOwi
g exsu n
Sierouz
nicee99