IndexOF没错,但是我:)

时间:2018-12-07 12:19:45

标签: java string indexof

我需要帮助:
我正在制作一个可以从html中读出特定字符串的程序。
我的代码:

String html = client.request(URL);
// is more or less = [html]<meta itemProp="name" content="[my target]"/> [html]

String searchString = "<meta itemProp=\"name\" content=\"";
String searchEndString = "\"/>";

while (true) {

        int from = html.indexOf(searchString);  
        if (from == -1) {
            break;
        }
        String temp = html.substring(from);
        int to = temp.indexOf(searchEndString, from);     //this is somehow -1
        String name = temp.substring(searchString.length(), to);
        // DO sth with name
        html = temp.substring(to);  
    }

例外:

  

线程“ main”中的异常java.lang.StringIndexOutOfBoundsException:字符串索引超出范围:-32
  在第45行的java.lang.String.substring(未知来源)处

String name = temp.substring(searchString.length(), to);引发异常,因为此时to-1

int to = temp.indexOf(searchEndString, from);为什么导致-1

我已经尝试了一个自定义的html字符串,该字符串有效。

预先感谢:)

0 个答案:

没有答案