-2

我真的被这个例外困住了

private static void getUserComment(String s) {
    while(s.contains("author'>")){
        System.out.println(s.substring(s.indexOf("author'>"),
                                       s.indexOf("<div id='")));
        s = s.substring(0, s.indexOf("author'>")) +
                           s.substring(s.indexOf("<div id='"+9));

    } 
}
4

1 回答 1

3

您应该使用适当的解析器或至少进行一些正则表达式模式匹配(这对于 HTML 或 XML 来说已经“足够糟糕”了)。

也就是说,您 9 的“偏移量”可能是异常的间接原因:

s.indexOf("<div id='"+9)

这将产生一个<div id='9找不到的文字字符串;indexOf然后返回 -1,这会导致substring方法中的异常。也许您想像这样将 9 添加到索引中?s.indexOf("<div id='")+9

请注意,无论如何该函数是无用的,更改s只会更改局部变量而不是原始变量(参数在Java中是按值计算的)。

于 2011-07-16T09:11:41.290 回答