以下是我的一些代码:
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正在工作,但它包含一个空格,我想避免这种情况。
非常感谢您的所有帮助/支持
答案 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]
^^^^^^^^^^^