@ostrovskiy_andrey

Как спарсить текст или число по маске в переменную Android Studio?

Есть строка: <div class="blockk">Free memory: 29568 b.<br><hr>
Я хочу получить переменную с значением 29568 b
Используя маску типа <div class="blockk">Free memory: (.+?).<br><hr>
Как это реализовать не знаю. Читал про регулярные выражения, во всех примерах сравнение и результат ложь или правда, а как значение нужное выдернуть, не нашел примеров, подскажите где почитать?
  • Вопрос задан
  • 1322 просмотра
Решения вопроса 1
@asd111
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class RegexMatches
{
    public static void main( String args[] ){

      // Строка, которую будем парсить
      String line = "<div class=\\"blockk\\">Free memory: 29568 b.<br><hr>";

       // Наша регулярка
      String pattern = "<div class=\\"blockk\\">Free memory: (.+?).<br><hr>";

      Pattern r = Pattern.compile(pattern);
      Matcher m = r.matcher(line);

      // Если нашли то выводим
      while (m.find( )) {
         System.out.println("Found value: " + m.group(0) );
      } else {
         System.out.println("NO MATCH");
      }
   }
}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
anyd3v
@anyd3v
Прочитайте про регулярные выражения, побалуйтесь в каком нибудь онлайн тестере например https://regex101.com/ , потом как регулярки использовать в java. Ваше регулярное выражение не верно.

Если правильно понял то будет
Free memory: ([^\.]+).
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы