如何处理字符串 **TEST*11   
把前面的** 给去掉呢  前面* 的各位不确定,只去掉前面的

解决方案 »

  1.   

    正则是首选。
     笨方法。  循环charAt,遇到不是*的就break,记录索引,循环外substring。
      

  2.   


    String a = "**TEST*11";
    int i = a.indexOf("TEST");
    System.out.println(a.substring(i));
      

  3.   

    System.out.println("**TEST*11".replaceFirst("^\\**", ""));
      

  4.   

    循环,从头开始依次取出长度为一个字符的子字符串(用substring方法,参照文档)
    str.substring(i, i + 1);
    再和"*"比较,遇到首个不相等字符,再用substring截取从当前位置到末尾就行了。
      

  5.   

    public static void main(String[] args)
    {
    String test = "**TEST*11";
    String result = null;


    while (test.indexOf("*") == 0) {
    test = test.substring(1);
    }

    System.out.println(test);
    }
      

  6.   


    public static void main(String args[]) {
    String testStr = "**TEST*11";
    String subStr = "";
    // 记录*号首次结束的位置
    int starEnd = 0;
    for (int i = 0; i < testStr.length(); i++) {
    subStr = testStr.substring(i, i + 1);
    if (!"*".equals(subStr)) {
    starEnd = i;
    break;
    }
    }
                    // 结果
    String result = testStr.substring(starEnd, testStr.length());
    System.out.println(result);
    }
      

  7.   

                String a = "***TEST*11";
                int m= a.IndexOf("TEST");
                Console.WriteLine(a.Substring(m));
      

  8.   


    String regex = "\\*+";
    System.err.println("**TEST*11".replaceFirst(regex, ""));
      

  9.   

    使用index of 和substring结合  先找到你不是*的第一个字符的位置  再对整个字符串进行处理   再不行 你麻烦点   分割字符串 遍历每个字符元素   *就除掉  再组合字符串  得出你要的