猿问

如何在python中获取字符串x之后的所有内容

我有一个字符串:

s3://tester/test.pdf

我想排除s3://tester/所以即使我有s3://tester/folder/anotherone/test.pdf我得到整个路径之后s3://tester/

我曾尝试使用拆分和分区方法,但我似乎无法获得它。

目前正在尝试:

string.partition('/')[3]

但是我收到一条错误消息,说它超出了索引。

编辑:我应该指定桶的名称不会总是相同的,所以我想确保它只在第 3 个“/”之后抓取任何东西。


RISEBY
浏览 180回答 4
4回答

临摹微笑

您可以使用str.split():path = 's3://tester/test.pdf'print(path.split('/', 3)[-1])输出:test.pdf更新:使用正则表达式:import repath = 's3://tester/test.pdf'print(re.split('/',path,3)[-1])输出:test.pdf

交互式爱情

你试过吗.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)

开心每一天1111

回答“如何在 python 中获取 x 个字符后的所有内容”string[x:]

沧海一幻觉

请查看更新原始&nbsp;使用内置re模块。p&nbsp;=&nbsp;re.search(r'(?<=s3:\/\/tester\/).+',&nbsp;s).group()该模式使用后视来跳过您希望忽略的部分并匹配它后面的任何和所有字符,直到整个字符串被消耗,将匹配的组返回给变量以供进一步处理p。此代码适用于遵循s3://tester/您在问题中提供的显式模式的任何长度路径。更新刚看到更新呃。在这件事上弄错了,我的错。re无论 S3 变量如何,下面的方法都应该有效,返回/字符串中第三个之后的所有内容。p&nbsp;=&nbsp;''.join(re.findall(r'\/[^\/]+',&nbsp;s)[1:])[1:]
随时随地看视频慕课网APP

相关分类

Python
我要回答