java提取字符串中数字string以及获取字符串中的整数或小数

 更新时间:2023年08月24日 10:04:56   作者:ekkcole  
这篇文章主要给大家介绍了关于java提取字符串中数字string以及获取字符串中的整数或小数的相关资料,需要的朋友可以参考下

方法一:提取字符串中的数字

// 提取字符串中的数字
    public static String extractNumbers(String input) {
        return input.replaceAll("[^0-9]", "");
    }

方法二:获取字符串中的整数或小数

public static String getNumber(String str) {
        if (Func.isNotEmpty(str)) {
            String pReg = "(\\d+\\.\\d+)";
            // 控制正则表达式的匹配行为的参数(小数)
            Pattern p = Pattern.compile(pReg);
            //Matcher类的构造方法也是私有的,不能随意创建,只能通过Pattern.matcher(CharSequence input)方法得到该类的实例.
            Matcher m = p.matcher(str);
            //m.find用来判断该字符串中是否含有与"(\\d+\\.\\d+)"相匹配的子串
            if (m.find()) {
                //如果有相匹配的,则判断是否为null操作
                //group()中的参数:0表示匹配整个正则,1表示匹配第一个括号的正则,2表示匹配第二个正则,在这只有一个括号,即1和0是一样的
                str = m.group(1) == null ? "" : m.group(1);
            } else {
                //如果匹配不到小数,就进行整数匹配
                pReg = "(\\d+)";
                p = Pattern.compile(pReg);
                m = p.matcher(str);
                if (m.find()) {
                    //如果有整数相匹配
                    str = m.group(1) == null ? "" : m.group(1);
                } else {
                    //如果没有小数和整数相匹配,即字符串中没有整数和小数,就设为空
                    str = "";
                }
            }
            return str;
        }
        return null;
    }

补充知识:java字符串中提取数字非正则表达式方法

使用Java中的Character类中的isDigit()方法来判断当前字符是否为数字,并在字符串中进行遍历。

public class ExtractNumbersFromString {
    public static void main(String[] args) {
        String str = "有12只猫和13只狗。";
        StringBuilder sb = new StringBuilder();
        for (char c : str.toCharArray()) {
            if (Character.isDigit(c)) {
                sb.append(c);
            }
        }
        System.out.println(sb.toString());
    }
}

运行上述代码,即可从字符串中提取数字并输出。

总结 

到此这篇关于java提取字符串中数字string以及获取字符串中的整数或小数的文章就介绍到这了,更多相关java提取字符串数字内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 深入理解Java设计模式之享元模式

    深入理解Java设计模式之享元模式

    这篇文章主要介绍了JAVA设计模式之享元模式的的相关资料,文中示例代码非常详细,供大家参考和学习,感兴趣的朋友可以了解下
    2021-11-11
  • 浅谈Mybatis传参类型如何确定

    浅谈Mybatis传参类型如何确定

    最近有小伙伴在讨论#{}与${}的区别时,有提到#{}是用字符串进行替换,本文主要介绍了mapper接口中不同的参数类型,最终拼接sql中是如何进行替换的,感兴趣的可以了解一下
    2021-10-10
  • Spring Boot多个定时任务阻塞问题的解决方法

    Spring Boot多个定时任务阻塞问题的解决方法

    在日常的项目开发中,往往会涉及到一些需要做到定时执行的代码,下面这篇文章主要给大家介绍了关于Spring Boot多个定时任务阻塞问题的解决方法,需要的朋友可以参考下
    2022-01-01
  • Docker 存储驱动详细介绍

    Docker 存储驱动详细介绍

    这篇文章主要介绍了Docker 存储驱动详细介绍的相关资料,需要的朋友可以参考下
    2016-10-10
  • Maven引用自定义jar包方式

    Maven引用自定义jar包方式

    这篇文章主要介绍了Maven引用自定义jar包方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • springmvc分层领域模型概念详解

    springmvc分层领域模型概念详解

    本文核心为分层领域模型(VO , PO , BO, DAO ,POJO等)概念的个人理解,结合springmvc浅谈分层领域模型的相关知识,感兴趣的朋友跟随小编一起看看吧
    2021-08-08
  • 心动吗?正大光明的免费使用IntelliJ IDEA商业版

    心动吗?正大光明的免费使用IntelliJ IDEA商业版

    这篇文章主要介绍了正大光明的免费使用IntelliJ IDEA商业版,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2020-02-02
  • Kotlin基础教程之伴生对象,getter,setter,内部,局部,匿名类,可变参数

    Kotlin基础教程之伴生对象,getter,setter,内部,局部,匿名类,可变参数

    这篇文章主要介绍了Kotlin基础教程之伴生对象,getter,setter,内部,局部,匿名类,可变参数的相关资料,需要的朋友可以参考下
    2017-05-05
  • java中struts配置

    java中struts配置

    本文给大家详细分析了在java项目中配置Struts的方法和示例,十分的简单实用,有需要的小伙伴可以参考下。
    2015-06-06
  • SpringBoot中使用Redis对接口进行限流的实现

    SpringBoot中使用Redis对接口进行限流的实现

    本文将结合实例代码,介绍SpringBoot中使用Redis对接口进行限流的实现,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-07-07

最新评论