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

如何解析输入语句并提取字符串中的数字存入变量?

从字符串中提取数字并存入变量的方法

嘿,这个需求太普遍啦!我拿最常用的Python和JavaScript来给你演示具体实现,毕竟这俩处理字符串提取的场景特别顺手。

Python 实现

正则表达式是处理这类文本提取的绝佳工具,直接用re模块就能搞定:

import re

# 你的输入字符串
input_str = "hello 4 is a number, and 5 is as well"

# 匹配所有整数(如果要支持小数,后面会说调整方法)
# r'\d+' 表示匹配一个或多个数字字符
number_strings = re.findall(r'\d+', input_str)
# 把字符串类型的数字转成整数,存入列表
numbers = list(map(int, number_strings))

# 如果你确定只有两个数字,可以直接解包存入变量
num1, num2 = numbers
print(num1)  # 输出 4
print(num2)  # 输出 5

# 如果不确定数字数量,直接用列表numbers存储所有提取结果就好

如果需要提取小数(比如字符串里有3.14这类),只需要把正则表达式改成r'\d+\.?\d*',然后转成float类型:

numbers = list(map(float, re.findall(r'\d+\.?\d*', input_str)))

JavaScript 实现

JS里用match()方法配合正则也能快速搞定:

const inputStr = "hello 4 is a number, and 5 is as well";
// 匹配所有数字字符串,转成Number类型
const numbers = inputStr.match(/\d+/g).map(Number);
// 解包存入变量
const [num1, num2] = numbers;
console.log(num1, num2); // 控制台输出 4 5

同样,要支持小数的话,正则换成/\d+\.?\d*/g就行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 09:16:33