使用line.split直到空格

时间:2013-08-25 14:12:06

标签: python

以下是我的一些代码:

with open ('sampleID.txt', 'r') as inF:
        for line in inF:
            if 'Sample ID:' in line:

                SID = line.split(':')[1]

文本文件(sampleID.txt)具有以下内容: 样品编号:110715516102 ABC

现在的问题是,如何更正我的代码,以便SID = 110715516102
line.split正在工作,但它包含一个空格,我想避免这种情况。

非常感谢您的所有帮助/支持

4 个答案:

答案 0 :(得分:0)

如果行布局始终相同(即ID前面的空格数相同),只需执行以下操作:

SID = line.split()[2]

答案 1 :(得分:0)

您可以使用strip()功能删除多余的空格:

with open ('sampleID.txt', 'r') as inF:
        for line in inF:
            if 'Sample ID:' in line:

                SID = line.split(':')[1].strip()

答案 2 :(得分:0)

我相信您需要做的就是通过strip()函数运行最终字符串。

  

str.strip([chars])

     

返回删除了前导和尾随字符的字符串副本。 chars参数是一个字符串,指定要删除的字符集。 如果省略或None,则chars参数默认为删除空格。

所以你在循环中的命令看起来像这样:

SID = line.split( ":" )[ 1 ].strip()

参考:

答案 3 :(得分:0)

在空白处再次拆分并取第一个“字”以获取110715516102

SID = line.split(':')[1].split()[0]
                        ^^^^^^^^^^^