日期:2014-05-20  浏览次数:20745 次

删除子串

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())); 后面这个是多少到多少啊?

------解决方案--------------------
我就是不明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输出看看。