0
У меня есть ArrayList, который выглядит как thisSplit ArrayList на блоки
Мне нужно извлечь данные, основанные на строку, которую я типа. Например, если я типа systém
, я должен получить этот результат:
001 (07.01.01) programovací systém (m)
systém (m) programovaniaCHCTeMa (f) riporpaMMupoBaiiHM
programming system; programming support environmentsystème (m) de programmationProgrammiersystem (n)
nezbytné programové vybavení potrebné pro používání jed-noho nebo vice programovacích jazyku
Если я печатаю komentár
, я должен получить:
004 (07.01.08) komentár (m); poznámka (í)
komentár (m); poznámka (f)
KOMMeHTapHH (m)
comment; remark; note; (computer program) annotationcommentaire (m)
Kommentar (m)
popis*, odkaz n. vysvetlení pripojené k príkazúmve zdrojo-vémprogramu (které se neprojevuje v cílovém programu)
Но я не знаю, как это исправить. Я пытался распознать блок через первые числа, но мой вывод был только с этим номером. Вот мой код:
Pattern pattern = Pattern.compile("[0-9]+.*");
Matcher m;
String str = "systém";
for (int i = 0; i < al.size(); i++) {
String line = al.get(i).toString();
m = pattern.matcher(line);
if(m.matches() && line.contains(str))
System.out.println(line);
//...Whats next?
}
}
Не могли бы вы прояснить алгоритм немного больше? Спасибо. – user
Из этого ArrayList мне нужно получить блок текста. Это был лексикон о некоторых компьютерах. Я содержит основное выражение (systém или komentár), языки и объяснение выражения. Мне нужен алгоритм, который распознает эти блоки. Первый этап начинается с 001. Второй блок начинается с 002. Но я должен продолжать формировать текст. Если я набираю systém (обработчик ввода еще не реализован), он должен распознать первый блок 001 и записать эти 4 строки выше. При вводе komentár он должен распознать блок 004 и распечатать вывод с 6 строками. – razorMC