String guolv="~!@#$%^&*()_+{}|:<>?`1234567890-=[]\\;',./~!·#¥%……—*()——+{}|:“”《》?`-=[]、;‘’,。/\"\"~!·#¥%…—*()—+{}|:《》?,。/;‘、=-1234567890";
String str="abc@ui#/mm\\a\"";
字符串goulv是要被过滤掉的所有字符,想把str里出现的guolv里的字符都用空去替换,就是去掉,
麻烦高人给出个方法,指点,谢谢!

解决方案 »

  1.   

    给个建议,因为下班了,没时间了,将guolv的字符外面再加上[],利用正则表达式的特性,调用str.replaceAll()方法直接替换,但guolv中出现的部分特殊字符要加\\转义,如- [ ]等等,要LZ试一下。
      

  2.   

    这么多,这是做什么啊,谁给出个效率点的方法,直接replaceAll()的话,要匹配判断太多次,
      

  3.   

    自己来一个
    char g[]=guolv.toCharArray();
            char st[]=str.toCharArray();
            String one,tow,three;
            String ii=str.replaceAll("@", "");
            System.out.println(ii);
            for(int v=0;v<st.length;v++)
            {
             for(int y=0;y<g.length;y++)
             {
             if(st[v]==g[y])
             {
             String jj=str.replace(g[y], ' ').replaceAll(" ", "");
             str=jj;
             System.out.println(jj);
             }
             }
            }