//提取固定格式字符串中的数字,整数、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; }
@Test public void testNum(){ String[] cc = NumberUtil.extractAmountMsg("日单量:100 | 交易额度:55.6 | 总额度:55.7 | 优惠额:-33.4"); for (String s :cc){ System.out.println(s); } }
本文介绍了一种从特定格式的字符串中提取各种类型数字的方法,包括整数、浮点数和负数。通过使用正则表达式匹配和迭代处理,该方法能够有效解析并获取所需的数值信息。
2513

被折叠的 条评论
为什么被折叠?



