Где я могу узнать больше о разборе текста в Java? - PullRequest
0 голосов
/ 10 февраля 2010

В этом семестре я нахожусь в классе Data Structures (на Java), но мы проводим большой анализ текстовых файлов, чтобы заполнить структуры, которые мы проектируем. Основное внимание уделяется самим структурам, а не алгоритмам синтаксического анализа. Я чувствую себя немного слабым в этом районе, и мне было интересно, кто-нибудь может указать мне книгу или сайт по этому вопросу. Шаблоны проектирования, библиотеки, стили и т. Д. Спасибо!

Ответы [ 3 ]

3 голосов
/ 10 февраля 2010

Для анализа основных текстовых файлов в Java я бы начал с изучения класса Scanner:

Для любого анализа текста полезно иметь базовые знания Regex:

Если Сканер не выполняет эту работу, вы всегда можете построчно проанализировать текстовый файл с помощью BufferedReader, поддерживаемого FileReader.

BufferedReader reader = new BufferedReader(new FileReader("/path/to/file.txt"));
for (String line = reader.readLine(); line != null; line = reader.readLine())
{
    //process your line here
}

Сканер может быть снова полезен здесь, и вы также можете заглянуть в String.split () или API Java Pattern.

Однако файлы могут быть во многих форматах. За советом о том, как лучше всего проанализировать файл в заданном четко определенном формате, Google будет вашим другом. Или вы всегда можете опубликовать более конкретное задание здесь в формате, который доставляет вам неприятности.

2 голосов
/ 10 февраля 2010

Книга "Шаблоны проектирования" описывает структуру синтаксического анализатора с рекурсивным спуском.

Компилятор-компилятор javacc может использоваться для генерации синтаксических анализаторов в Java.

1 голос
/ 10 февраля 2010

Базовый анализ текста можно выполнить с помощью класса StringTokenizer, методов String.split () и классов Pattern и Matcher для регулярных выражений.

...