Есть входная строка:
String input = " 2777461-1
Стол: 1 < /td>";
Pattern pattern = Pattern.compile("\\+?(.*)");
Matcher matcher = pattern.matcher(input);
while (matcher.find()) {
System.out.println(matcher.group());
}
необходимо создать из этой строки 3 переменные
code = 2777461-1
furniture = Стол
count = 1
ошибок нет, но и даже code не удалось получить результат:
2777461-1
Может я ошибаюсь и регулярными выражениями такое не решается?
Ответ
Самый обычный вариант - использовать парсер, к примеру, jsoup. В вашем случае способ получить данные из документа будет выглядеть так:
String input = " " +
"2777461-1" +
"
" +
"" +
"Стол: " +
"
1
" + " " + ""; Document html = Jsoup.parse(input);String strong = html.body().getElementById("strong").text(); String furniture = html.body().getElementById("furniture").text(); String count = html.body().getElementById("count").text();
Изучайте библиотеку, у нее есть масса способов парсинга html-документов.
Ремарка: для доступа к данным проще использовать id, который вы назначаете на нужный тэг. К примеру, если в документе будет 2 тэга , то по id вытащить строку будет оптимальнее (я подправил ваш исходный html, обратите на это внимание).
Комментариев нет:
Отправить комментарий