剥离白色空间后:

时间:2014-06-24 17:01:05

标签: python regex string escaping

这是我的代码它在OS名称之后打印了大量空间:如何剥离空白区域?我试图使用拆分,我猜不会以正确的方式使用它

操作系统名称:Microsoft Windows 7 Professional

请参阅Microsoft知识库文章2344941

#!/usr/bin/env python
import sys, re, os

lineContains = re.compile('.*OS Name.*')
lineHas = re.compile('.*OS Version.*')

filename = open("system-info.txt", 'r')
for line in filename:
    if lineContains.match(line):
        ''.join(line.split())
        print line
        if "Windows 7" in line:
            print 'See the Microsoft Knowledge Base article 2344941'
        else:
            print 'See the Microsoft Knowledge Base article 2550978'    
filename.close()

2 个答案:

答案 0 :(得分:0)

您可以使用REGEX去除空白区域。 myString.replaceAll("\\s+","")将消除多个空格。但是,有些空格不一定是"空格"。对于这些,您可以使用myString.replaceAll("\\W+", "")

答案 1 :(得分:0)

我的建议是使用line = re.sub(r':[\t ]+',r': ',line)。这将占用任何冒号和所有空格,并用一个冒号和一个空格替换它,这样你就可以在每个冒号之后保留一定数量的空格。