Если вы знаете, что будет только один набор тегов HTML, даже лучше, если бы вы знали, что это за тег, вы могли бы сделать что-то вроде:
String[] html = new String[] {
"<div id=\"option1\">hello</div>",
"<div style=\"color: cyan\">world</div>" };
for(String index : html){
int firstEnd = index.firstIndexOf("/>");
int lastBeginning = index.indexOf("<", 2); // Could become "</div>
String contents = index.substring(firstEnd + 1, lastBeginning - 1);
System.out.println(contents);
}
Обратите внимание, что у меня нетЯ не тестировал этот код и не записывал его в IDE, поэтому он может быть не совсем корректным, но я думаю, вы можете видеть, откуда я.Просто получите строку между закрывающим «>» последнего тега перед информацией и открывающим «<» закрывающей части предыдущего тега ... </p>
Я также вижу, что-то вроде этого кодабыть модифицированным для обработки строк будет несколько тегов HTML с небольшим воображением ...
В качестве альтернативы, и я не могу поверить, что я не думал об этом, чтобы начать, вы могли бы использовать что-то вроде следующего.Хотя, опять же, он ограничен одним тегом HTML, хотя я уверен, что при необходимости вы могли бы придумать метод подсчета тегов *1009*.
String[] html = new String[] {
"<div id=\"option1\">hello</div>",
"<div style=\"color: cyan\">world</div>" };
String tag = "div";
Pattern p = Pattern.compile("<" + tag + ".*?>(.*?)</" + tag + ">");
Matcher m;
for(String index : html){
m = p.matcher(index);
while(m.find()) System.out.println(m.group(1));
}
HTH