java中使用String提取字符串中的数字(整数、负数、double)类型小数点数字

来源:互联网 发布:口罩行业数据 编辑:程序博客网 时间:2024/06/15 22:31
//提取固定格式字符串中的数字,整数、double、负数都可以public static String[] extractAmountMsg(String ptCasinoMsg){    String returnAmounts [] = new String [4];    if(!ptCasinoMsg.equals("")){        ptCasinoMsg = ptCasinoMsg.replace(" | ", " ");        String [] amounts = ptCasinoMsg.split(" ");        for(int i=0;i<amounts.length;i++){            String msgAmount = amounts[i];            String numFlag = "";            if(msgAmount.contains("-")){                numFlag="-";            }            Pattern p=Pattern.compile("(\\d+\\.\\d+)");            Matcher m=p.matcher(amounts[i]);            if(m.find()){                returnAmounts[i]=m.group(1)==null?"":numFlag+m.group(1);            }else{                p=Pattern.compile("(\\d+)");                m=p.matcher(amounts[i]);                if(m.find()){                    returnAmounts[i]=m.group(1)==null?"":numFlag+m.group(1);                }            }        }    }else {        returnAmounts[0]="0";        returnAmounts[1]="0d";        returnAmounts[2]="0d";        returnAmounts[3]="0d";    }    return returnAmounts;}


@Testpublic void testNum(){    String[] cc = NumberUtil.extractAmountMsg("日单量:100 | 交易额度:55.6 | 总额度:55.7 | 优惠额:-33.4");    for (String s :cc){        System.out.println(s);    }}

1 0