如 “去符号标号!!当然。”过滤后变为“去符号标号当然”

解决方案 »

  1.   

    “去符号标号!!当然.” .replaceAll("[标点符号]","")
      

  2.   

    如果用replaceall()并不是理想选择
      

  3.   

    1.首先需要有一个标点符号集。
    2.看这个字符串替换方法的应用环境,是大批量应用还是少量应用
    少量应用就不用考虑效率,逐个replaceAll就可以了
    大批量应用就把string转化为字符数组,逐个比较是否是标点符号。这样的好处是字符串只需要被扫描一遍。
      

  4.   

    先判断有没有符号~在用.replaceALL不就好了么
      

  5.   

    public class Test {
        
        public static void main(String... args) {
            String str = "去符号标号!!当然。";
            str = str.replaceAll("\\pP", "");
            System.out.println(str);
        }
    }采用 Unicode 标点属性方式的正则表达式,可以去掉所有的标点符号,
    包括全角、半角、横排、竖排等的标点符号。注意一下,如果在 JDK 5 或以下的环境中,全角单引号对、双引号对
    无法替换掉,这是 JDK 5 及以下版本缺失的,在 JDK 6 中由于加入了
    Pi 和 Pf 两个 Unicode 子属性,因此就能替换掉。在 JDK 6 以下的版本中可以这样:
    str = str.replaceAll("[\\pP‘’“”]", "");
    即手工加上去。
      

  6.   

    实验了一下public class A { /**
     * @param args
     */
    public static void main(String[] args) {
    String s = "哈哈!@#W";
    s = s.replaceAll("\\pP", "");
    System.out.print(s); }}
    果然好使 张知识啊~~感谢楼上
      

  7.   

    两种方法(都是利用正则表达式)
    法一:(前面已经说了)
    replaceAll("!","").replaceAll(".","")
    法二:以下方法实现把字符串中的中文都抠出来String result="";
    String sourceCode="\"去符号标号!!当然。\"";
    String regex=(?<=“)[\u4e00-\u9fa5]*(?=”);
    Matcher matcher=Pattern.compile(regrex).matcher(sourceCode);
    while(matcher.find()){
    result=sourceCode.substring(matcher.start(), matcher.end()).trim()
    }
      

  8.   

    replaceAll("\\pP", "");
    真强大~~~
      

  9.   

    replace("\\p{Punct}","你好aaaa,./09357*&^%#","哈");
      

  10.   


    static void replace(String regex,String input,String replace){
    Pattern pa = Pattern.compile(regex);
    Matcher match = pa.matcher(input);
    System.out.println("replace all "+ match.replaceAll(replace));
    }
      main:replace("\\p{Punct}","你好aaaa,./09357*&^%#","");将输入字符传的标点符号换为“”;
      

  11.   

    ..循环
    char []  fuhao = {............这里是所有的符号,因为有全码半码所以不能用ASCI编码来判断,只能罗列出来..............};
    String str = "fadaf;asdjfadsjf;sdaf";
    String b = "";
    for(int i =0 ; i < str.length() ; i++) {
       boolean isFuhao = false;
       char chStr = str.charAt(i);
       for (int j = 0 ; j < fuhao.length;i++) {
          if (fuhao[i] == chStr) {
           isFuhao = true;
           break;
          }
       }
       if (!isFuhao) {
          b = b+ chStr;
       }
    }
    ..大概就这么个逻辑,里边可能有什么写错的.随手写的..看思路吧...
      

  12.   

    public class A{
        public static void main(String[] args){
             String s = “去符号标号!!当然。” ;
             System.out.println(s.replaceAll("!",""));
        }
    }
      

  13.   

    str = str.replaceAll("\\pP", "");  \\pP 到底 是什么意思 哦>!>>       不懂, , 谁能告诉我.>>!
      

  14.   


    哈哈,正则表达式
    \p{Punct} Punctuation: One of !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ 
      

  15.   

    Unicode 编码并不只是为某个字符简单定义了一个编码,而且还将其进行了归类。\pP 其中的小写 p 是 property 的意思,表示 Unicode 属性,用于 Unicode 正表达式的前缀。大写 P 表示 Unicode 字符集七个字符属性之一:标点字符。其他六个是L:字母;
    M:标记符号(一般不会单独出现);
    Z:分隔符(比如空格、换行等);
    S:符号(比如数学符号、货币符号等);
    N:数字(比如阿拉伯数字、罗马数字等);
    C:其他字符上面这七个是属性,七个属性下还有若干个子属性,用于更进一步地进行细分。Java 中用于 Unicode 的正则表达式数据都是由 Unicode 组织提供的。Unicode 正则表达式标准(可以找到所有的子属性)
    http://www.unicode.org/reports/tr18/各 Unicode 字符属性的定义,可以用一看看某个字符具有什么属性。
    http://www.unicode.org/Public/UNIDATA/UnicodeData.txt这个文本文档一行是一个字符,第一列是 Unicode 编码,第二列是字符名,第三列是 Unicode 属性,
    以及其他一些字符信息。
      

  16.   

    replaceAll("!","").replaceAll(".","") 
    正解