如何从输出中删除“/ digit”数字

时间:2015-06-14 03:28:07

标签: python

我需要从输出中删除补丁集号码意味着删除1293927/2 1293929/3中的“/ digit”,我已经显示了下面的预期输出,输出应该如下所示,但应该是类型列表..如何拆分?

   sql_get = """SELECT gerrit_id
                FROM gerrits.gerrit_submit_table
                where (SI='%s'
                and component='%s' and release_bit = '0' and picked_bit = '0')"""%(SI,component)

#print sql_get
rows = cursor.execute(sql_get)  
gerrits = cursor.fetchall() 
#print "gerrits"
#print gerrits -->prints (('1293927/2',), ('1293929/2',))


print' '.join(item[0] for item in gerrits).rstrip('\r\n') --> prints 1293927/2 1293929/2

输出: -

1293927/2 1293929/2

预期输出: -

1293927 1293929

2 个答案:

答案 0 :(得分:2)

使用re模块。

import re
print ' '.join(re.sub(r'/.*', '',item[0]) for item in gerrits).rstrip('\r\n')

使用string.split功能。

print ' '.join(item[0].split('/')[0] for item in gerrits).rstrip('\r\n')

更新

l = []
for item in gerrits:
    m = item[0].split('/')[0] 
    l.append(m)
print l

答案 1 :(得分:2)

我考虑使用split()

print ' '.join(item[0].split('/')[0] for item in gerrits)

这应该否定对rsplit的需要并在斜杠后处理任何数量的数字。请注意,它会输出string,但我认为这是您在join()给出的内容。

新要求:

以列表形式输出:

print [item[0].split('/')[0] for item in gerrits)]