String s="awfcaf12344,ewef23esf4567,dbds234sdvgsg";对字符串进行分离出数字,并计算分离出数字的值之和int a=12344+23+4567+234
怎么处理好了?

解决方案 »

  1.   


    public static void main(String[] args) {
         String s = "awfcaf12344,ewef23esf4567,dbds234sdvgsg";
         String[] ss = s.split("\\D");
         int total = 0;
         for(int i = 0; i < ss.length; i++) {
         if(!"".equals(ss[i])) {
         total += Integer.parseInt(ss[i]);
         }
         }
         System.out.println(total);
        }
      

  2.   


    String s = "awfcaf12344,ewef23esf4567,dbds234sdvgsg";
    String regex = "\\D*(\\d+)\\D*";
    Matcher m = Pattern.compile(regex).matcher(s);
    int result = 0;
    while (m.find()) {
    result += Integer.parseInt(m.group(1));
    }
    System.out.println(result);
      

  3.   

    然后还可以再改进一下,可以把s.split("\\D")变成s.split("\\D+")