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

Python如何实现:含下划线取首下划线后内容,无则返回原字符串

实现指定的字符串提取逻辑

方法一:利用str.split()的maxsplit参数

给split()方法传入maxsplit=1,会将字符串按第一个下划线分割成最多两部分。之后根据分割结果的长度判断:存在下划线则取第二部分,否则返回原字符串。

def extract_after_first_underscore(s):
    parts = s.split('_', 1)
    return parts[1] if len(parts) > 1 else parts[0]

# 验证用例
print(extract_after_first_underscore('testing_abc'))          # 输出: abc
print(extract_after_first_underscore('xyz'))                   # 输出: xyz
print(extract_after_first_underscore('testing_abc_bbc'))       # 输出: abc_bbc

方法二:使用str.partition()(更简洁)

partition()方法会返回一个三元组(前缀, 分隔符, 后缀):

  • 若字符串包含下划线,分隔符为_,后缀就是第一个下划线后的所有内容;
  • 若不包含下划线,分隔符为空字符串,此时直接返回原字符串即可。
def extract_after_first_underscore(s):
    _, sep, suffix = s.partition('_')
    return suffix if sep else s

# 验证用例
print(extract_after_first_underscore('testing_abc'))          # 输出: abc
print(extract_after_first_underscore('xyz'))                   # 输出: xyz
print(extract_after_first_underscore('testing_abc_bbc'))       # 输出: abc_bbc

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 10:57:33