Текст горного выпуска: от названий разделов, подписи к рисункам и в других местах, во многих PDF файлов я получаю предложений типа:Perl регулярное выражение, чтобы удалить пространство из OCR текста, импортированного из pdftotext
"T h e n as data we give the t r a j e c t o r i e s o f the particles between ..."
Я предполагаю, что это OCR вопрос с pdftotext.
Я могу удалить пробелы в gappy-тексте только с помощью последовательности цепочек регулярных выражений, которая сначала увеличивает пробелы, но это зависит от границ слов в оригинальном тексте OCR, находящемся на расстоянии от двойного расстояния. например, вот простой пример:
$ perl -e '$t="The \ \ \ \ t h i n g w r o n g h e r e is we have a gap s."; print "$t\n";
$t=~s/(\s{2,})/$1 /g; print "$t\n";
$t=~s/(\w)\s?/$1/g; print "$t\n";
$t=~s/\s+/ /g; print "$t\n";'
The t h i n g w r o n g h e r e is we have a gap s.
The t h i n g w r o n g h e r e is we have a gap s.
The t h i n g w r o n g h e r e is we have a gap s.
The thing wrong here is we have a gap s.
The thing wrong here is we have a gap s.
период окончания срока действия «пробел». преднамеренно, он не должен закрываться.
Вопрос 1. Есть ли более элегантный набор регулярных выражений для этого?
Вопрос 2. Какую черту можно сделать только с однократным удалением текста OCR? Я предполагаю, что можно просто решить это, как правило, для очистки текста формы: «В качестве данных мы приводим траектории частиц между ...» , когда границы слов не понятны с использованием какого-либо сверхмощного модуля, который ищет словарь слова в строке с единственными буквами. Есть ли такой модуль? (Я искал, но пока не нашел его.)
Вы пытаетесь манипулировать естественным языком с помощью регулярных выражений. Трудно, в лучшем случае, и в пространстве, в котором вы работаете, вероятно невозможно. Соблюдайте осторожность, здесь есть драконы ... –
http://stackoverflow.com/questions/1136990/how-can-i-extract-text-from-a-pdf-file-in-perl – xxfelixxx
http: // search.cpan.org/~cdolan/CAM-PDF-1.60/bin/getpdftext.pl – xxfelixxx