String str=a2*5*10;
如何把str中的非数字(*除外)过滤掉

解决方案 »

  1.   

    str = str.replaceAll("[^0-9*]", "");
      

  2.   

    code=Java]for(int i=0;i<str.length();i++)
    {
       if(charAt(i)!='*')
          charAt(i)=null;
    }[[/code]
      

  3.   

    code=[Java]for(int i=0;i <str.length();i++) 

      if(str.charAt(i)!='*') 
          str.charAt(i)=null; 
    }[/code]
      

  4.   

    是不是一种巧合啊,大家看看中行代码是什么结果
    String s="asda2*5";
    s=s.replaceAll("[^0-9+-*/]", "");
    System.out.println(s);
      

  5.   


    7楼运行下面的代码,看是什么结果String s="asda2*5"; 
    s=s.replaceAll("[^0-9+-*/]", ""); 
    System.out.println(s);
      

  6.   

    嗯 如果你要同时排除 + - * / 这样写是不行,因为[]中虽然可以写一些特定字符做普通字符, 但 - 如果出现在 []中是有另外的解释的 你应该知道的 是表示范围 所以要加转义,别的+ * / 都没事,所以应该写成 s.replaceAll("[^0-9+\\-*/]", "");