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

Python如何获取字符串最后一次出现分隔符前的内容及报错处理

问题原因
  • 核心触发原因是方法名拼写错误+可能调用顺序写反:你实际运行的代码中要么是把字符串拼接方法join误写为了joint(多输入了末尾的t字符),要么是把调用顺序写反,把分隔符.join(待拼接列表)的正确结构写成了待拼接列表.joint(分隔符),才触发了AttributeError。
  • str.join()方法本身的入参要求就是可迭代的字符串序列,你通过a.split("_")[:-1]得到的列表完全符合该方法的入参要求,不是问题诱因。
解决方法

方案1:修正拼写/调用顺序即可运行原逻辑

你原来的提取逻辑是正确的,仅需要把方法名改回join、确认调用顺序正确就可以正常运行:

a = "1_2_3"
b = "1_2_3_4"
res_a = "_".join(a.split("_")[:-1])
res_b = "_".join(b.split("_")[:-1])
print(res_a) # 输出 1_2
print(res_b) # 输出 1_2_3

方案2:更高效的实现方式

可以使用rsplit指定从右往左仅分割1次,不需要对整个字符串全部分割,性能更好,代码更简洁:

res_a = a.rsplit("_", 1)[0]
res_b = b.rsplit("_", 1)[0]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 14:39:01