4 回答
TA贡献1982条经验 获得超2个赞
您可以使用str.split():
path = 's3://tester/test.pdf'
print(path.split('/', 3)[-1])
输出:
test.pdf
更新:使用正则表达式:
import re
path = 's3://tester/test.pdf'
print(re.split('/',path,3)[-1])
输出:
test.pdf
TA贡献1712条经验 获得超3个赞
你试过吗.replace?
你可以这样做:
string = "s3://tester/test.pdf"
string = string.replace("s3://tester/", "")
print(string)
这将替换"s3://tester/"为空字符串""
或者,您可以使用.split而不是.partition
您也可以尝试:
string = "s3://tester/test.pdf"
string = "/".join(string.split("/")[3:])
print(string)
TA贡献1824条经验 获得超5个赞
请查看更新
原始 使用内置re
模块。
p = re.search(r'(?<=s3:\/\/tester\/).+', s).group()
该模式使用后视来跳过您希望忽略的部分并匹配它后面的任何和所有字符,直到整个字符串被消耗,将匹配的组返回给变量以供进一步处理p
。
此代码适用于遵循s3://tester/
您在问题中提供的显式模式的任何长度路径。
更新
刚看到更新呃。
在这件事上弄错了,我的错。
re
无论 S3 变量如何,下面的方法都应该有效,返回/
字符串中第三个之后的所有内容。
p = ''.join(re.findall(r'\/[^\/]+', s)[1:])[1:]
添加回答
举报