3

这是我的一些代码:

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

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

文本文件(sampleID.txt)的内容如下: Sample ID: 110715516102 ABC

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

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

4

4 回答 4

0

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

SID = line.split()[2]
于 2013-08-25T14:14:50.310 回答
0

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

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

                SID = line.split(':')[1].strip()
于 2013-08-25T14:14:56.703 回答
0

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

str.strip([chars])

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

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

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

参考:

于 2013-08-25T14:15:09.103 回答
0

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

SID = line.split(':')[1].split()[0]
                        ^^^^^^^^^^^                         
于 2013-08-25T14:15:15.673 回答