我有此字符串/1B5DB40?full
,我想将其转换为1B5DB40
。
我需要删除?full
和前面的/
我的站点的结尾不一定总是?full
,所以即使?full
不存在,我也需要一些仍然可以工作的东西。
谢谢,希望这不会让您感到困惑:)
编辑:
我知道我可以在0和8处进行分割,但1B5DB40
可以更长或更短。例如,它可能是/1B5DB4000?full
或/1B5
最佳答案
使用str.lstrip
(删除开头的/
)和str.split
(删除?
之后的可选部分):
>>> '/1B5DB40?full'.lstrip('/').split('?')[0]
'1B5DB40'
>>> '/1B5DB40'.lstrip('/').split('?')[0]
'1B5DB40'
或使用
urllib.parse.urlparse
:>>> import urllib.parse
>>> urllib.parse.urlparse('/1B5DB40?full').path.lstrip('/')
'1B5DB40'
>>> urllib.parse.urlparse('/1B5DB40').path.lstrip('/')
'1B5DB40'