天天看點

java提取字元串中的數值

String字元串:日單量:100 | 出廠價格:5000.0 | 銷售價:57000.34 | 優惠價:200.00

public static String[] extractAmountMsg(String msg){
    String returnAmounts [] = new String [4];
    if(!msg.equals("")){
        msg = msg.replace(" | ", " ");
        String [] amounts = msg.split(" ");
        for(int i=0;i<amounts.length;i++){
            Pattern p=Pattern.compile("(\\d+\\.\\d+)");
            Matcher m=p.matcher(amounts[i]);
            if(m.find()){
                returnAmounts[i]=m.group(1)==null?"":m.group(1);
            }else{
                p=Pattern.compile("(\\d+)");
                m=p.matcher(amounts[i]);
                if(m.find()){
                    returnAmounts[i]=m.group(1)==null?"":m.group(1);
                }
            }
        }
    }else {
        returnAmounts[0]="0";
        returnAmounts[1]="0d";
        returnAmounts[2]="0d";
        returnAmounts[3]="0d";
    }

    return returnAmounts;
}
傳回結果[100,5000.0,57000.34,200.00]