Я недавно взял на общинной вызов, и я пытаюсь извлечь значение тега «отн» в следующей строке:Извлечение значения из атрибута HTML тегов в Java
<td><a title='Visit Personal Stats Page for ijackk' href='personal.php?name=ijackk&clan=ph_chat_ftw' class='rsn' rel='ijackk' style='color: #FFFFFF;'>ijackk</a></td>
причина для этого - вызов, требующий от меня удалить имена нескольких пользователей из списка участников (список людей с атрибутами, относящимися к их учетной записи). У меня нет У меня есть, чтобы использовать регулярные выражения, но я чувствую, что это было бы лучше. Я видел классический пост, почему регулярные выражения плохи, но я также видел сообщения о том, что использование его для подобных вещей не так уж плохо.
Ниже то, что я делал до сих пор:
public class Parser {
public static void main(String[] arguments) {
new Parser().parse();
}
public void parse() {
try {
URL url = new URL("http://www.runehead.com/clans/ml.php?clan=ph_chat_ftw");
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(url.openStream()));
String line;
StringBuilder stringBuilder = new StringBuilder();
while ((line = bufferedReader.readLine()) != null) {
if (line.contains("Visit")) {
stringBuilder.append(line).append("\n");
System.out.println(line);
}
}
Matcher matcher = Pattern.compile("\\?rel='([A-Za-z0-9_]*)'").matcher(stringBuilder.toString());
while (matcher.find()) {
System.out.println("matched: " + matcher.group(1));
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Вывод о том, что у меня там то, что я представил выше, для каждого имени, за исключением. Соединитель ничего не находит. Могу я помочь?
Спасибо! Это намного чище, и он отлично работает! –