You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python索引与切片从字符串中提取指定目标文本

问题原因

你之前使用的myvar[:10]是从字符串索引0位置(也就是字符串最开头)截取前10个字符,拿到的是URL开头的https://m片段,完全没有定位到目标内容所在的位置,自然无法得到预期结果。

你的目标内容是URL中最后一个/之后、.pdf后缀之前的文件名部分,只要通过索引定位到这两个边界,再用切片截取中间内容即可。

实现方法

方法1:纯索引+切片实现(完全匹配你想用的索引、切片能力)

通过rfind()方法从字符串末尾反向查找边界字符的索引位置,再做切片:

myvar = 'https://mystorageacct.blob.core.windows.net/testcontainer/29112013 FDD_Exec Summary 29 Nov 2013.pdf'
# 定位最后一个斜杠的位置,+1跳过斜杠,得到目标内容的起始索引
start = myvar.rfind('/') + 1
# 定位.pdf后缀的起始点位置,得到目标内容的结束索引
end = myvar.rfind('.pdf')
grab = myvar[start:end]

执行后grab的值就是你需要的:

29112013 FDD_Exec Summary 29 Nov 2013

逻辑说明

  • rfind(字符)会从字符串尾部往前查找第一个匹配字符的索引,比从开头查找更适合定位URL最后一段的分隔符,不会被前面路径里的同名字符干扰。
  • Python切片规则是字符串[起始索引:结束索引],截取范围包含起始索引对应的字符,不包含结束索引对应的字符,刚好匹配我们定位的两个边界。

方法2:拆分字符串实现(写法更简洁)

如果不需要严格只用基础索引切片,可以通过字符串拆分快速拿到结果:

# 按斜杠拆分字符串,取最后一段就是带后缀的文件名
full_filename = myvar.split('/')[-1]
# 从末尾切掉4个字符长度的.pdf后缀,得到目标内容
grab = full_filename[:-4]

注意:[:-4]的写法仅适用于后缀固定为.pdf(长度固定为4)的场景,如果后续可能出现其他长度的后缀,可以换成full_filename.rsplit('.', 1)[0],兼容性更强。


内容的提问来源于stack exchange,提问作者Patterson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.01 16:01:17