任意输入内容, 包括: 字母 中文 标点将字母和标点过滤 将中文打印出来!怎么做.  

解决方案 »

  1.   

    System.out.println("fja fi.koj我们143k8k1j414".replaceAll("[^\u4e00-\u9fa5]*", ""));
      

  2.   

    用正则表达式
    System.out.println("fja fi.koj我们143k8k1j414".replaceAll("[\\p{Alnum}]*[\\p{Punct}]*", ""));
      

  3.   

    除了replaceAll 
    还可以用其他的实现么?
      

  4.   


    Matcher m = Pattern.compile("[\u4e00-\u9fa5]+")
                        .matcher("fja fi.koj我们143k8k1j414"); while(m.find()){     System.out.println(m.group()); 
    } 输出:
    我们上面的replaceAll方法内部就是这么实现的实际上
      

  5.   


    Matcher m = Pattern.compile("[\u4e00-\u9fa5]+")
                        .matcher("fja fi.koj我们143k8k1j414"); while(m.find()){     System.out.println(m.group()); 
    } 输出:
    我们实际上,上面的replaceAll方法内部就是这么实现的
      

  6.   

    replace里的范围是怎么来了能说说么?