繁体   English   中英

如何用“-”为列表中的一项拆分字符串?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM