问题:假如有字符串“6sabcsssfsfs33” ,用最有快速的方法去掉字符“ab3”,不能用java内置字符串方法(indeOf,substring,replaceAll等)? 

解决方案 »

  1.   

    是去掉字符串里面的所有a b 3
    还是去掉字符串里面的ab3这个子串?
      

  2.   


    String str = "6sabcsssfsfs33";
    String[] array = {"a", "b","3"};
    String[] newArray = str.split("(?!<^)(?=\\w)");
    StringBuffer sb = new StringBuffer();
    for (int i = 0; i < newArray.length; i++) {
    for (String key : array)
    if (newArray[i].equals(key))
    newArray[i] = "";
    sb.append(newArray[i]);
    }
    System.out.println(sb.toString());
      

  3.   

    恩。。两种都有,去掉ab3子串和所有ab3都写
    要求最快速的方法
      

  4.   

    我正则表达式不是很好,请问str.split("(?!<^)(?=\\w)")里面的表达式是什么意思?
      

  5.   

    不能用java内置字符串方法split() 可以用吗?
      

  6.   

    这位牛人写的正则我咋看不懂呢我觉得还是我写的用正则的方式比较简单吧
    public static void main(String[] args) {
    StringBuffer br = new StringBuffer();
    String s = "6sabcsssfsfs33dfsdfab3fsdf";
    String n [] = s.split("a|b|3|ab3");
    for(int i = 0;i<n.length;i++){
    System.out.println(n[i]);
    br.append(n[i]);

    }
    System.out.println(br);
        }