@pshevnin

Как распарсить текстовый документ на java?

Добрый день, возник такой вопрос: есть текстовый документ в котором записаны числа, которые необходимо считать. Но помимо чисел в документе есть комментарии обёрнутые в скобки "( )", далее пример строки: "(комментарий) 15 10( - числа, которые нужно считать (комментарии могут быть вложенными друг в друга) ) 22" в этой строке полезные числа - 15, 10 и 22. Основная проблема для меня в том, что между скобками и всем остальным может не быть пробелов (пробелы точно есть только между числами). То есть считывать при помощи метода .next из стандартного класса Scanner не представляется возможным. Так же не получается считывать посимвольно (Bufferedreader метод read), потому что тогда непонятно как считывать числа (не понять где числа разделены пробелом, а где - нет). Какой способ я упускаю? Спасибо за ответы
  • Вопрос задан
  • 83 просмотра
Решения вопроса 2
@Sergey_USB
Просто перебирай все символы в строке и если это цифра то она тебе нужна, остальное не нужно. Останется только конец начала числа научиться понимать.
Ответ написан
Комментировать
Erik_Mironov
@Erik_Mironov
Старые вопросы: *Dies from cringe*
Вы можете использовать регулярные выражения для поиска нужной вам информации. Например, для поиска чисел в тесте вы можете использовать следующее решение:

Pattern p = Pattern.compile("[0-9]+");
Matcher m = p.matcher("string1234(((more56))7))string890");
while (m.find()) {
    System.out.println(m.group()); //1234 56 7 890
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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