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

Python检测字符串包含指定子串时如何提取子串前的数字内容

提取apples前对应数字的实现方案

你可以先定位到apples在字符串中的起始索引,截取索引前的前缀内容后提取数字即可,同时兼容带空格、不带空格的两种输入格式:

通用适配写法(推荐)

可适配前缀含任意非数字字符的场景,比如"共3 apples"、"3apples"都能正常提取:

fruit = "3 apples" # 替换成 "3apples" 也可正常运行
if fruit.find('apples') > -1:
    # 获取apples的起始位置
    apple_start_idx = fruit.find('apples')
    # 截取apples前的所有内容
    prefix_part = fruit[:apple_start_idx]
    # 过滤出所有数字字符后转为整数
    fruit_count = int(''.join([char for char in prefix_part if char.isdigit()]))
    # 输出结果为3
    print(fruit_count)

轻量写法

如果确认前缀只有数字和可选空格,没有其他字符,可以用更简洁的写法:

if fruit.find('apples') > -1:
    apple_start_idx = fruit.find('apples')
    fruit_count = int(fruit[:apple_start_idx].strip())

内容的提问来源于stack exchange,提问作者Guilherme Celli Fadel

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 12:45:07