例如,我有以下字符串:
a-b-c-d-e-f
我要删除第一个元素和最后两个元素,因此输出为:
b-c-d
我尝试使用rsplit
,但输出是列表:
print string.rsplit('-',)[1:-2]
['b', 'c', 'd']
如何将列表元素组合回字符串?有没有比使用rsplit
更简单的方法来删除元素?
答案 0 :(得分:2)
您可以仅合并拆分和rsplit的调用:
a = "a-b-c-d-e-f"
b = a.split("-", 1)[-1].rsplit("-", 2)[0]
但这只是为了“酷拼图效果”。
更加可维护的方法肯定是在-
分隔符处拆分字符串,将数据作为列表进行操作,然后使用join
进行组装:
a = "a-b-c-d-e-f"
b = a.split("-")
c = b[1:-2]
d = "-".join(c)
或者,如果您愿意,一切都可以一起运行
b = "-".join(a.split("-")[1:-2])
答案 1 :(得分:1)
rsplit返回列表,您需要将返回列表的元素与'-'结合在一起才能得到所需的结果。
<script>
var data = [ { _id: "5bbbb89a1a3ab50bcbd750a3",
desc: 'Market',
total: 4000,
amount: 1,
timestamp: '10/8/2018 4:05:45 PM' },
{ _id: "5bbbb8ac1a3ab50bcbd750a7",
desc: 'Deliver',
total: 2000,
amount: 1,
timestamp: '10/8/2018 4:06:03 PM' },
{ _id: "5bbbb8ac1a3ab50bcbd750a8",
desc: 'Market',
total: 4000,
amount: 1,
timestamp: '10/8/2018 4:06:03 PM' },
{ _id: "5bbbb8ac1a3ab50bcbd750a9",
desc: 'CPM',
total: 14000,
amount: 1,
timestamp: '10/8/2018 4:06:03 PM' },
{ _id: "5bbca335ef3899eb5fcbed51",
desc: 'Deliver',
total: 4000,
amount: 2,
timestamp: '10/9/2018 8:46:44 AM' }]
</script>