[英]How to split string by “-” for one item in a list?
我有一个包含一个项目的列表,需要用“-”分隔才能访问数据的最后一段:
a = ['1-35-047-13-6299\t1\n']
通常,我将使用以下调用来做到这一点:
test = a.split("-")
但是,这会产生以下错误
>>> a = ['1-35-047-13-6299\t1\n']
>>> a
['1-35-047-13-6299\t1\n']
>>> test = a.split("-")
Traceback (most recent call last):
File "<interactive input>", line 1, in <module>
AttributeError: 'list' object has no attribute 'split'
>>>
如何使用split方法获取列表项中的最后一段数据,例如“ 6299 \\ t1 \\ n”?
test = a[0].split('-')[-1]
print test
您在这里至少有两个问题。 一方面,错误消息说split
期望一个字符串而不是一个列表,但是a
是一个字符串列表而不是一个字符串。 因此,在这种情况下, split
需要a[0]
,或者一般来说,您可以相信它是字符串。
然后,需要仅分割最右边的元素。 这就是rsplit
目的,可能是使用限制拆分次数的参数。 因此,您想要的底线是:
test = a[0].rsplit('-',1)[1]
如果您的输入字符串不包含-
字符,那么即使失败也将失败-捕获rsplit
的整个输出并检查其长度,或者在其输出中使用反向索引都可以防止这种情况。
追溯显示: 'list' object has no attribute 'split'
“字符串”对象的属性为“拆分”,可以使用a[i].split('-')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.