开发技术-Java从字符串中提取小数

目录

1.前提

正则表达式全解析+常用示例

常用正则表达式合集,这一篇就够了!!

Pattern 和 Matcher

 2.实现

 


1.前提

项目上请求第三方服务,其中有个字段为字符串和小数的混合,

类似:武汉0.1333;北京10.25;其它地区110.1

需要将其中的小数取出。

技术积累:

正则表达式全解析+常用示例

常用正则表达式合集,这一篇就够了!!

Pattern 和 Matcher

 2.实现

        String str = "武汉0.1333;北京10.25;其它地区110.1";
        List<Double> list = new ArrayList<>();
        // 声明正则,匹配数字(1个或多个).数字(1个或多个)
        String regex = "\\d+\\.+\\d+";
        // Pattern的构造方法是私有的,不可以直接创建,通过静态方法compile创建Pattern对象,查看源代码发现compile直接调用了Pattern构造函数。
        Pattern pattern = Pattern.compile(regex);
        // 返回一个Matcher对象。Matcher类的构造方法也是私有的,不能随意创建,只能通过Pattern.matcher(CharSequence input)方法得到该类的实例。
        Matcher matcher = pattern.matcher(str);
        // 对目标字符串进行正则匹配,通过while可以多次执行find方法,获取多次的匹配结果,代码编写方式类似于iterator.next()。
        while (matcher.find()) {
            // group() 返回匹配到的字符串,结合find函数使用。
            String group = matcher.group();
            list.add(Double.parseDouble(group));
        }
        System.out.println(list);

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值