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

无需regex、for/if语句实现字符串数字提取及空格分隔

提取数字并保留块分隔的实现方案

你之前的写法是直接提取整个字符串的所有数字字符拼接,自然会丢失不同数字块之间的分隔,以下是符合限制条件的实现:

代码示例

# 示例输入
num_str = "495   *  89  "
# 实现逻辑
result = ' '.join(filter(None, map(lambda x: ''.join(filter(str.isdigit, x)), num_str.split())))

执行后result的值就是你需要的495 89。

逻辑说明

  • 调用无参数的split()方法拆分原字符串,会自动把连续空白作为分隔符,同时忽略首尾空白,得到拆分后的片段列表
  • 通过map遍历每个拆分后的片段,提取片段内的所有数字字符拼接为新字符串
  • 用filter(None, 可迭代对象)过滤掉提取后为空的无效片段(即原本完全不含数字的片段)
  • 最后用' '.join()将所有有效数字片段用单个空格拼接,得到最终结果

该方案没有使用正则、显式for/if语句,也不需要额外导入任何模块,符合要求。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 13:48:00