Мне нужна помощь:
Я делаю программу, которая может считывать определенные строки из 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
в java.lang.String.substring (неизвестный источник) в строке 45
String name = temp.substring(searchString.length(), to);
выдает исключение, потому что to
равен -1
в этой точке.
Почему int to = temp.indexOf(searchEndString, from);
приводит к -1
Я уже пробовал пользовательскую строку html
, которая сработала.
Заранее спасибо:)