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