如何在StringBuffer中判断是否含有某一子串

解决方案 »

  1.   

    或者可以indexOf 方法
    返回 String 对象内第一次出现子字符串的字符位置。function IndexDemo(str2){
       StringBuffer str1 = "BABEBIBOBUBABEBIBOBU"
      int s = str1.indexOf(str2);
       return(s);

      

  2.   

    the same to redduke1202
      

  3.   

    谢谢楼上几个。可能没说明白
    我做的是一个子串的删除,判断子串的开始标志和结束标志。
    因为子串是有,如果用indexOf会越界的。所以要用判断是包含的方法,有人这样用过么?
      

  4.   

    谢谢楼上几个。可能没说明白 
    我做的是一个子串的删除,判断子串的开始标志和结束标志。 
    因为子串有好几个,如果用indexOf判断会越界的。所以要用判断是包含的方法,有别的办法么?
      

  5.   

    怎么会越界呢?
    把原串里的所有子串都删除?效率不是很高,但是能实现功能的代码public static void deleteSubString(StringBuffer sb,String substring)
    {
    while(sb.indexOf(substring)!=-1)
    sb.delete(sb.indexOf(substring),sb.indexOf(substring)+substring.length());
    }
      

  6.   

    这个做的是编码格式的程序,有个功能是注释内容,用toString然后contain判断做了,不过还是谢谢楼上。
      

  7.   

    没有明白什么意思。
    sb.indexOf(substring)!=-1
    有这个就够了