部分代码如下
str = str.substring(str.indexOf("<body"),str.indexOf("/body>")+6);
str = str.substring(0,str.indexOf("自我评价</td>"))+     
str.substring(str.indexOf("求职意向"),str.indexOf("工作经验</td>"))+
str.substring(str.indexOf("教育经历"),str.length()-1); 实现的功能是从前面得到的html文件中
获取部分字符串
但是如果这个html 里面的自我评价或是其他东西没有的话
str.indexOf("自我评价</td>")会返回-1
报java.lang.StringIndexOutOfBoundsException: String index out of range: -1
错误
我不知道要如何处理这个
感激不尽

解决方案 »

  1.   

    你不要连起来写嘛,分段写,每个段判断一下,
    如 
    if(str.indexOf("自我评价")!=-1)
    {}
      

  2.   

    str.indexOf("自我评价</td>")
    中文用URLDecoder.encode()试一下...
      

  3.   

    liutianxiong888  这个不管用
    一楼的大哥 太麻烦了
    我改了又其他问题
      

  4.   

    str.substring(0,Integer.parseInt(URLDecoder.decode(String.valueOf(str.indexOf("自我评价</td>")),"UTF-8"))+1) 报java.lang.ArrayIndexOutOfBoundsException: 1
    str.indexOf("自我评价</td>")这个不是-1么
      

  5.   

     indexOf 里面是正则表达式来的!
      

  6.   

    怕麻烦就用try catch弄起来,出异常就把str 弄成空