public class lianxushanchu {   
    public static void main(String[] args)
    {
     String str = "dcba567dcba890";
     String subStr ="dcba";
    
     while (str.indexOf("dcba")!=-1)
     {
    
     str=str.substring(0,str.indexOf("dcba")).concat(str.substring(str.indexOf("dcba")+subStr.length(),str.length()));
           
            
        
    }
    System.out.print("结果="+str);
     }
  
}这个删除子串  我不明白  str.substring(0,str.indexOf("dcba")).  这是从0开始到3吗?str.substring(str.indexOf("dcba")+subStr.length(),str.length()));  后面这个是多少到多少啊?

解决方案 »

  1.   

    你在substring前写一句System.out.println(str.indexOf("dcba")+subStr.length()+":"+str.length()));一目了然了,str.substring(0,str.indexOf("dcba")).这句话不知道从多少开始看看API文档不就知道了,不会查API文档,这个程序员就没法做
      

  2.   

     "hamburger".substring(4, 8) returns "urge"
     "smiles".substring(1, 5) returns "mile"
     System.out.println(str.substring(0,str.indexOf("dcba")));  出来是567 这是怎么算的 
     
    不明白   另外楼上 抄错的。
      

  3.   

    你测试的东西里面肯定有个567,567是子串,不是索引,你要看它的索引,就直接打印str.indexOf("dcba")
      

  4.   

    你的开玩笑哦 str.indexOf("dcba")是0 这个的意思str.substring(0,str.indexOf("dcba"))这个就是: str.substring(0,0);那么肯定什么值都不会打印出来,你却说是567
      

  5.   

    看看,和你的是一个道理
    String value = "1234";
    System.out.println(value.indexOf("3"));//返回"3"第一次出现的索引,也就是2
    System.out.println(value.substring(0, value.indexOf("3")));从0开始到索引前的一个位置结束
      

  6.   

     value.indexOf( "")多了哥空格,你运行的时候记得去掉  2个 value.indexOf( "3 ")都多了
      

  7.   

    这个是个循环,遇到 subStr 就把subStr截掉。而前面用到了concat 连接 subStr左右部分。逻辑很简单吧。
      

  8.   

    System.out.println(value.substring(0,   value.indexOf( "3")));
    出来 1 和2
    "hamburger".substring(4, 8) returns "urge"
     "smiles".substring(1, 5) returns "mile"
      不就和我之前发的例子一样吗  
    我就是不明567 怎么出来的
      

  9.   

    我就是不明567 怎么出来的?第一次循环结果是 str=567dcba890.
    第2次循环时语句:
    str=str.substring(0,str.indexOf("dcba")).concat(str.substring(str.indexOf("dcba")+subStr.length(),str.length()));
    的开始部分
    str.substring(0,str.indexOf("dcba"))  得到"567".
    567是这么来的。楼主可以在循环里把str输出看看。