python查找字符串中的最后一个

2024-04-20 07:44:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在寻找一种简单的方法来识别一个字符串在另一个字符串中的最后位置。。。例如。如果我有:file = C:\Users\User\Desktop\go.py
我想裁剪一下,这样file = go.py

通常我必须通过一个loop+find语句运行C:\Users\User\Desktop\go.py,每次遇到\它都会问。。。是字符串中的最后一个\吗。。。一旦我找到最后一个\,我就会file = file[last\:len(file)]
我很想知道是否有更快更整洁的方法。。最好没有环。
类似file=[file('\',last):len(file)]
如果没有像我上面展示的那样。。。然后我们可以将循环以某种方式放置在[:]中。类似于file = [for i in ...:len(file)]

谢谢:)


Tags: 方法字符串pyloopgoforlen方式
3条回答

我同意Felix的观点,文件路径应该使用os.path.basename来处理。但是,您可能想看看内置的字符串函数^{}

>>> file = 'C:\Users\User\Desktop\go.py'
>>> before, separator, after = file.rpartition('\\')
>>> before
'C:\\Users\\User\\Desktop'
>>> separator
'\\'
>>> after
'go.py'

还有^{}函数,它为您提供子字符串的最后一个索引

>>> file.rfind('\\')
21

我意识到我参加聚会有点晚了,但由于这是在Google上搜索例如“find last in str python”时的最佳结果之一,我认为这可能有助于某人添加此信息

如果只是关于文件路径,则可以使用^{}

>>> import os
>>> os.path.basename(file)
'go.py'

或者,如果您没有在Windows上运行代码,则必须使用ntpath而不是os.path

您可以将字符串拆分为一个列表,然后获取列表的最后一个索引

样本:

>>> file = 'C:\Users\User\Desktop\go.py'
>>> print(file.split('\\')[-1])
go.py

相关问题 更多 >