我需要从输出中删除补丁集号码意味着删除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
答案 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)]