Python 有没有办法去掉字符串的结尾,直到到达某个字符?

Python 有没有办法去掉字符串的结尾,直到到达某个字符?,python,python-3.x,strip,re,Python,Python 3.x,Strip,Re,我正在为自己做一个附带项目,偶然发现了一个我不知道如何解决的问题。我有一个url,比如说。我正试图剥离url的结尾,这样我就只剩下了 最初我尝试使用strip函数并指定要删除的长度/位置,但对于我正在使用的其他url,它的长度不同。(即URL 1=/xyz/abc,URL 2=/xyz/abcd)) 对于实现这一点有什么建议吗?我研究了在Python中使用正则表达式操作,但不确定如何将其应用到这个用例中。理想情况下,我想编写一个函数,从字符串的末尾开始,去掉所有字符,直到到达第一个“/”为止。如

我正在为自己做一个附带项目,偶然发现了一个我不知道如何解决的问题。我有一个url,比如说。我正试图剥离url的结尾,这样我就只剩下了

最初我尝试使用strip函数并指定要删除的长度/位置,但对于我正在使用的其他url,它的长度不同。(即URL 1=/xyz/abc,URL 2=/xyz/abcd))

对于实现这一点有什么建议吗?我研究了在Python中使用正则表达式操作,但不确定如何将其应用到这个用例中。理想情况下,我想编写一个函数,从字符串的末尾开始,去掉所有字符,直到到达第一个“/”为止。如有任何建议,将不胜感激


谢谢

如果您不想使用regex,您可以将split和join()组合起来

输出

'https://stackoverflow.com/xyz'

如果不想使用正则表达式,可以将split和join()组合起来

输出

'https://stackoverflow.com/xyz'

为什么不直接使用从末尾开始的
rfind

>>string=>https://stackoverflow.com/xyz/abc'
>>>string=string[:string.rfind('/')+1]
>>>打印(字符串)
'https://stackoverflow.com/xyz/'
如果您也不需要该字符(本例中为
/
),只需删除
+1

但是请记住,只有当字符串实际包含您要查找的字符时,这才有效。 如果要防止出现这种情况,必须使用以下方法:

string='1〕https://stackoverflow.com/xyz/abc'
idx=string.rfind(“/”)
如果(idx!=-1):
字符串=字符串[:idx+1]
除非,很明显,您希望在找不到字符的情况下得到一个空字符串。
那么第一个示例就可以了。

为什么不使用从末尾开始的
rfind

>>string=>https://stackoverflow.com/xyz/abc'
>>>string=string[:string.rfind('/')+1]
>>>打印(字符串)
'https://stackoverflow.com/xyz/'
如果您也不需要该字符(本例中为
/
),只需删除
+1

但是请记住,只有当字符串实际包含您要查找的字符时,这才有效。 如果要防止出现这种情况,必须使用以下方法:

string='1〕https://stackoverflow.com/xyz/abc'
idx=string.rfind(“/”)
如果(idx!=-1):
字符串=字符串[:idx+1]
除非,很明显,您希望在找不到字符的情况下得到一个空字符串。
那么第一个例子就可以了。

我将使用
urllib.parse
pathlib
而不是regexhttps://stackoverflow.com/xyz/abc“.rsplit(“/”,1)[0]https://stackoverflow.com/xyz/abc'.rsplit('/',1)[0]欣赏这些建议,将研究如何应用这些建议,看看它是否适用于我正在使用的整个用例。欣赏这些建议,将研究如何应用这些建议,看看它是否适用于我正在使用的整个用例