我正在尝试修复访问表中字段中的值。值看起来像这样
G45-f1
C43-m1
C6-h1
M90_N9-h1
K9_Y7-h2
我想在短划线“ - ”之前切掉所有内容并删除其余部分,如下所示:
G45
C43
C6
M90_N9
K9_Y7
我知道我可以在短划线x.split("-")
处拆分值,但我不确定如何删除余数。任何建议都会受到欢迎。
答案 0 :(得分:2)
str.split()
总是返回一个至少包含一个元素的列表,只需选择结果的第一个元素来忽略其余元素:
x.split('-')[0]
您可能希望限制拆分计数,因为您丢弃了除第一部分以外的所有内容:
x.split('-', 1)[0]
答案 1 :(得分:1)
你可以使用str.split
,但你也可以使用str.partition
,它只会分裂到第一次出现并始终保证返回3元组...( head ,分隔符,尾部):
>>> print 'M90_N9-h1'.partition('-')[0]
M90_N9
这样做的好处是,如果您想要 tail ,那么即使分隔符不存在,它也将是一个空字符串,而不是IndexError
异常str.split
异常
答案 2 :(得分:0)
您可以创建新列表
newlist = [x.split('-')[0] for x in oldlist]