• 【总结】java regex 正则表达式 提取数字和去除数字,过滤数字,提取价格


        @Test
        public void test33() {
            String phoneString = "哈哈,13888889999";
            // 提取数字
            // 1
            Pattern pattern = Pattern.compile("[^0-9]");
            Matcher matcher = pattern.matcher(phoneString);
            String all = matcher.replaceAll("");
            System.out.println("phone:" + all);
            // 2
            Pattern.compile("[^0-9]").matcher(phoneString).replaceAll("");
        }
    @Test
        public void test() {
            // 提取张三 去除数字
            String r_name3 = "张三 13599998888 000000";
            Pattern pattern = Pattern.compile("[\d]");
            Matcher matcher = pattern.matcher(r_name3);
            System.out.println(matcher.replaceAll("").trim());
        }

    需求:过滤除点号外的所有非数字:

            String abc = "价格:0.00元";
            Pattern compile = Pattern.compile("\d+\.\d+");
            Matcher matcher = compile.matcher(abc);
            matcher.find();
            String string = matcher.group();//提取匹配到的结果
            System.out.println(string);//0.00        

    需求:只要提取数字其它都不需要

    String abc = "手机:1319999999";    
    System.out.println(abc.replaceAll("\D", ""));//1319999999

     需求:提取价格出来

    package com.infomorrow.parser_datasource;
    
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    
    import org.junit.Test;
    
    public class test_money {
        @Test
        public void test(){
            //0
            //0.1
            //24.13
            String moneyString="1";
            Double extract_cost = extract_cost_dot(moneyString);
            System.out.println("extract_cost:"+extract_cost);
        }
        /**
         * 提取金额,规则为只提取数字和点号,必须有点号
         * 格式可以为0.0或者,11
         * @param cost
         * @return
         */
        public   Double extract_cost_dot(String cost) {
            Pattern compile = Pattern.compile("(\d+\.\d+)|(\d+)");
            Matcher matcher = compile.matcher(cost);
            matcher.find();
            return Double.valueOf(matcher.group());
        }
    }
  • 相关阅读:
    IT资产管理系统SQL版
    反转单词(C#实现)
    删除数组中重复的元素(C#实现)
    最大子数组之和(C#实现)
    判断是否是三角形
    如何解决SSAS + SSRS + WSS3.0 之间的Windows 集成验证问题
    关于SharpDevelop
    规划一个SharePoint的解决方案
    Scalability Design
    合作意味着分享
  • 原文地址:https://www.cnblogs.com/amosli/p/3437213.html
Copyright © 2020-2023  润新知