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

如何在Java中从字符串提取整数或浮点型数值

Java字符串提取整数/浮点数实现方案

问题原因

现有实现中replaceAll("[^\\d]", " ")的正则仅保留阿拉伯数字,会直接清除浮点数的小数点.,因此无法提取带小数的数值。

修改后代码

public String getNumbers(String str){
    // 保留数字和小数点,其余字符替换为空格
    str = str.replaceAll("[^\\d.]", " ");
    str = str.trim();
    // 合并连续空格
    str = str.replaceAll(" +", " ");
    
    if (str.equals(""))
        return "-1";
    return str;
}

效果验证

  • 输入"delay: 5 days",返回结果5,兼容原有整数提取逻辑
  • 输入"this a sample, delay: 7.1 days",返回结果7.1,支持浮点数提取

注:该实现基于你给出的「输入必然包含一个合法整数/浮点数」的前提,若需适配非法格式(如多个连续小数点、首尾小数点)可额外增加格式校验逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 18:09:02