删除字符串中的特定部分

3
我想以以下方式删除字符串中最后一个 '/' 之后的部分:
str = "live/1374385.jpg"
formated_str = "live/"

或者

str = "live/examples/myfiles.png"
formated_str = "live/examples/"

到目前为止我已经尝试了这个(有效)

import re
for i in re.findall('(.*?)/',str):
    j += i
    j += '/'

输出:

live/live/examples/

我是一个 Python 初学者,只是好奇是否有其他方法可以做到这一点。


你可能想要查看如何获取URL中最后一个斜杠后面的所有内容?请访问以下链接:https://dev59.com/5mw05IYBdhLWcg3wahJM - Ozgur Vatansever
不要在URL的最后一个斜杠之前反转它 - dunstorm
1
我非常肯定只需稍微调整已接受的答案即可找到答案。 - Ozgur Vatansever
@ProFan - 你觉得这个问题被标记为重复是否有帮助?因为我认为它有些不同。 - jezrael
1
不,实际上不是因为我想要使用 os.path.dirname 无法获取URL目录。 - dunstorm
为什么不能使用 os.path.dirname 来完成呢?它似乎完美地工作。请说明其不适用的原因。 - TigerhawkT3
3个回答

4
使用 rsplit 方法:
str = "live/1374385.jpg"
print (str.rsplit('/', 1)[0] + '/')
live/

str = "live/examples/myfiles.png"
print (str.rsplit('/', 1)[0] + '/')
live/examples/

2

您还可以使用.rindex字符串方法:

s = 'live/examples/myfiles.png'
s[:s.rindex('/')+1]

0
#!/usr/bin/python

def removePart(_str1):
    return "/".join(_str1.split("/")[:-1])+"/"

def main():
    print removePart("live/1374385.jpg")
    print removePart("live/examples/myfiles.png")

main()

虽然这段代码片段可能解决了问题,但包括解释真的有助于提高您的帖子质量。请记住,您正在为未来的读者回答问题,而这些人可能不知道您的代码建议原因。 - andreas

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接