Java - Извлечение неповторяющихся слов из файлов PDF - PullRequest
0 голосов
/ 09 октября 2018

Я написал простую программу на Java, используя PDFBox для извлечения слов из PDF-файла.Он читает текст из PDF и извлекает слово за словом.

public class Main {

    public static void main(String[] args) throws Exception {
        try (PDDocument document = PDDocument.load(new File("C:\\my.pdf"))) {

            if (!document.isEncrypted()) {

                PDFTextStripper tStripper = new PDFTextStripper();
                String pdfFileInText = tStripper.getText(document);
                String lines[] = pdfFileInText.split("\\r?\\n");
                for (String line : lines) {
                    System.out.println(line);
                }

            }
        } catch (IOException e){
            System.err.println("Exception while trying to read pdf document - " + e);
        }
    }

}

Есть ли способ извлечь слова без дубликатов?

Ответы [ 2 ]

0 голосов
/ 09 октября 2018

Если ваша цель - удалить дубликаты, то одним из способов добиться этого является добавление массива в java.util.Set.Итак, прямо сейчас, вам просто нужно сделать следующее:

Set<String> noDuplicates = new HashSet<>( Arrays.asList( lines ) );

Больше никаких дубликатов.

0 голосов
/ 09 октября 2018
  1. Разделите каждую строку на space - line.split(" ")
  2. Сохраните HashSet, чтобы удерживать эти слова и продолжайте добавлять все слова к нему.

HashSet по своей природе будет игнорировать дубликаты.

HashSet<String> uniqueWords = new HashSet<>();

for (String line : lines) {
  String[] words = line.split(" ");

  for (String word : words) {
    uniqueWords.add(word);
  }
}
...