zoukankan      html  css  js  c++  java
  • 【总结】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());
        }
    }
  • 相关阅读:
    python+selenium webdriver.firefox()方式配置浏览器设置
    spring框架学习之依赖注入(二)
    spring框架体系结构介绍
    mongoDB数据更新与操作符
    mongoDB学习笔记<一>
    关于IOS AFNetWorking内存泄漏的问题
    IOS 11 下适配UITableView
    调试Xamarin.Android时出现缺少"Mono.Posix 2.0.0"的错误
    EF6 MySQL错误之“Specified key was too long; max key length is 767 bytes”
    Webstrom安装+激活
  • 原文地址:https://www.cnblogs.com/amosli/p/3437213.html
Copyright © 2011-2022 走看看