拆分字符串并删除最后一个值

时间:2018-02-22 04:56:04

标签: python python-2.7 split

我有字符串:

 y = x.split("/")
 output = ['ls', 'ps', 'ts', '00']

如何分割和剪切最后一个值

实际输出:

  output = /ls/ps/ts/

预期产出:

<center style="margin:6px 0;">
   <img t-if="o.barcode" t-att-src="'/report/barcode/?type=%s&amp;value=%s&amp;width=%s&amp;height=%s' %('Code128',o.barcode,250,50)"/>
</center>

3 个答案:

答案 0 :(得分:2)

您可以在此处使用os.path路径操作效果很好:

import os

x = "/ls/ps/ts/00"
output = os.path.dirname(x)

print output  # prints "/ls/ps/ts"

答案 1 :(得分:1)

这可能是最短的解决方案:

x.rsplit("/", 1)[0] + "/"
#'/ls/ps/ts/'

以正则表达式为基础:

import re
re.findall("(.+/)[^/]+", x)[0]
#'/ls/ps/ts/'

答案 2 :(得分:0)

如果您想使用split,则可以重新join组件。由于您希望维护一个尾随分隔符,您可以稍后再添加它,或者更好的是,将组件的最后一个元素设置为空:

y = x.split('/')
y[-1] = ''
output = '/'.join(y)

作为一个单行:

output = '/'.join(s if i else '' for i, s in enumerate(x.split('/'), -x.count('/')))