在Python中将字符串减小到特定位置

1 投票
7 回答
1982 浏览
提问于 2025-04-15 18:31

在我的Python应用程序中,有一些字符串看起来像这样:

test1/test2/foo/

每当我得到这样的字符串时,我想从字符串的末尾开始减少它,直到遇到第一个“/”为止。

test1/test2/

更多例子:

foo/foo/foo/foo/foo/  => foo/foo/foo/foo/
test/test/            => test/
how/to/implement/this => how/to/implement/

我该如何在Python中实现这个功能呢?

提前谢谢你!

7 个回答

5

可以使用str.rsplit()这个方法,并且可以设置一个叫maxsplit的参数。如果你处理的是路径,可以看看os.path或者urlparse这两个模块。

6

听起来你可能需要用到 os.path.dirname 这个函数。你可能需要多次调用它:

>>> import os.path
>>> os.path.dirname("test1/test2/")
'test1/test2'
>>> os.path.dirname("test1/test2")
'test1'
5

在编程中,有时候我们会遇到一些问题,特别是在使用某些工具或库的时候。这些问题可能会让我们感到困惑,不知道该怎么解决。比如,有人可能在使用某个库时,发现它的某个功能没有按照预期工作。这时候,我们就需要去查找相关的信息,看看有没有人遇到过类似的问题,或者有没有解决方案。

在StackOverflow上,很多开发者会分享他们遇到的问题和解决方法。通过这些讨论,我们可以学习到很多实用的技巧和经验,帮助我们更好地理解和使用这些工具。

总之,遇到问题时,不要害怕去寻求帮助,很多人都经历过类似的情况,分享他们的经验可以让我们少走很多弯路。

 newString = oldString[:oldString[:-1].rfind('/')]
 # strip out trailing slash    ----^       ^---- find last remaining slash

撰写回答