我真的坚持这个例外
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));
}
}
答案 0 :(得分:3)
您应该使用正确的解析器或至少进行一些正则表达式模式匹配(对于HTML或XML已经“足够糟糕”)。
那就是说,9的“偏移”可能是例外的间接原因:
s.indexOf("<div id='"+9)
这将创建一个未找到的文字字符串<div id='9
; indexOf
然后返回-1,这会导致substring
方法中的异常。也许你想要像这样在索引中添加9? s.indexOf("<div id='")+9
请注意,该函数无论如何都是无用的,更改s
只会更改局部变量而不是原始变量(参数在Java中是按值)。