.docからテキストを取得します。 より良い方法は?

不注意なユーザーが自分に関する情報を送信するさまざまなファイルを操作するという小さなタスクに直面しました。 統計の収集から始めて、私は恐ろしい写真を見ました-誰がどのように追放されましたか。 彼らは可能なすべてを送ります。 単純なテキストファイル(世界に十分な人がいることに感謝しますから始まり、PowerPointまたはFlashでのプレゼンテーションで終わります(自分で見たときまでそのような人を信じていませんでした) 。 愚か者ではないにしても、私は当然、この多様性をすべて単一の形にすることで人間機械処理の可能性を提供することにしました。 ためらうことなく、古き良きhtmlを選びました。

さまざまなプレゼンテーションや写真がアルゴリズムからほぼ即座に削除されました-庭を囲うことはあまり意味がありません。これらの美しい生き物はあまり出会わないからです。 処理はメインスレッドほど問題ありません。 テキスト、htmlなど ファイルは、単一の形式の選択に関連して、影響を受けることはありませんでした。 しかし、他の一般的な形式では、もちろん、いじる必要がありました。



簡単な検索の結果、 wvパッケージがリポジトリで見つかりました-.docから変換するためのユーティリティのセット(マニュアルでは、Word 2000、Word 97、Word 95、およびWord 6からの変換の可能性が報告されています。 、rtf、LaTeX。 実験から判断すると、その変換の品質は最高ではありません-フォーマットはまだいくらか違反されました。 幸いなことに、書式設定を保持するタスクがなく、これらのユーティリティを使い始めた明確な良心で、エラーなしでテキストを完全にほとんど以下で)引き出しました。



また、頻繁に出会う他のいくつかの形式については、対応するユーティリティ(unrtf、unzip、unrarなど)が使用されました。



docファイルに戻ります。 先ほど述べたように、多くの神経を台無しにした1つの問題がなければ、変換はかなりまともです。 それについて詳しく説明します。 htmlへの変換後、他のスクリプトがテキストに対して設定され、テキストを処理し、単語に分割し、コードフレーズを探し、正規表現を使用して他の有用な作業を行います。 すべてが他のファイルで素晴らしく機能しましたが、.docから取得したテキストは頑固にエラーで処理されました-2つの単語を1つとしてカウントし、パスフレーズを認識しません。 最初のエラーは重要ではありませんが、それを見つけるために、壁に対して3回実行する必要がありました。 その本質は、私がこれらのファイルを処理したcp1251エンコードには、日常生活ではほとんど使用されない1つの文字があるという事実に要約されています。 これはギャップです。 コード番号160(16進コードのA0)の下。 正規表現が壊れたのは彼についてで、彼を空白記号ではなく、最も印刷された記号だと考えました。 幸いなことに、オフィスのコーヒーメーカーでれることを考える前に、その理由が何であるかを理解しました。



これは私が私の冒険の物語を終えるところです。 このトピックがおもしろければ、さらに苦しむことについて書きます。



PS最も重要なこと。 自分の無能さに自信を持って、読者から学びたい-知らないWordファイルからテキストを取得するもっと人道的な方法があるかもしれない また、テキストを含んでいる可能性があるが、フラッターからデコードされていない他の形式からの変換方法について知った場合、感謝します。 たとえば、同じフラッシュ。 確かに方法があります。




All Articles