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

Python:如何截取字符串至首个整数出现处并包含该整数

截取字符串至首个整数位置并包含该整数的Python实现

解决方案:使用正则表达式精准匹配

直接用正则表达式匹配从字符串开头到第一个完整整数的部分,不管前面的内容包含空格、括号还是其他字符,都能准确截取。

代码示例:

import re

def truncate_to_first_integer(input_str):
    # 匹配从开头到第一个整数的所有内容(包含整数)
    match_result = re.search(r'^.*?\d+', input_str)
    # 如果找到匹配项就返回,否则返回原字符串(应对无整数的边界情况)
    return match_result.group() if match_result else input_str

测试验证

用你给出的示例输入测试:

  • 输入:SOME STRING (IT WILL ALWAYS END WITH PARANTHESIS) 2 3 ---
    输出:SOME STRING (IT WILL ALWAYS END WITH PARANTHESIS) 2
  • 输入:SOME OTHER STRING (PARANTHESIS AGAIN) 5 --- 3
    输出:SOME OTHER STRING (PARANTHESIS AGAIN) 5
  • 输入:AND SOME OTHER (AGAIN) 2 1 4
    输出:AND SOME OTHER (AGAIN) 2

正则逻辑说明

  • ^:锚定字符串起始位置,确保从开头开始匹配
  • .*?:非贪婪模式匹配任意字符(除换行符),避免过度匹配到后续内容
  • \d+:匹配一个或多个连续数字,也就是我们要保留的第一个整数

为什么之前的方法不适用

  • 按空格分割:无法确定哪一段空格后是第一个整数,前面的文本本身就包含大量空格,分割后无法定位目标位置
  • 按---分割:该符号并非所有输入都存在,不具备通用性

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 20:55:20