0

一部のpdfファイルでtikaを使用してテキストを抽出し、テキストをテキストファイルに保存しました。今、私はopennlpチャンクパーサーを使用してこれらのファイルを解析したいのですが、ファイル行を解析できませんでした。これは、テキストファイル内の単語間のスペースなしで、いくつかの特殊文字(いくつかの正方形タイプの記号)が含まれているためです(使用できません)これらの四角形の記号、分音記号を表示するため)

51.2.3  Troubleshooting DHCP Configuration  ?
62  Module 3: Point-to-Point Protocol (PPP) ?
62.1    Configuring HDLC Encapsulation  ?

だから私は次のように行を取得したい

Troubleshooting DHCP Configuratin
Module 3: Point-to-Point Protocol(PPP)
Configuring HDLC Encapsulation

これを行う方法を教えてください。

4

2 に答える 2

0
  1. ファイルを 1行ずつ読み取ります。
  2. これらの各行の不要な文字を "" に置き換えます。line = line.replaceAll("^\\d{2}(\\.\\d)+ +", "").replaceAll(" +\\?$", "");
  3. FileWriterを使用してファイルを書き込みます。

これは、行頭の数値形式が dd(.d)* であると想定しています。ここで、d は 1 桁であり、最初のセクション以降の各セクションは 1 桁のみです。それ以外の場合は、フォーマットに合わせて正規表現を変更する必要があります。

.replaceAll("[æ╚]", "");これらの文字をすべて角かっこに追加して、不可解な記号を削除します。適切なエンコーディングを使用していることを確認してください。「UTF-8」でファイルを読み取る場合は、このファイルが「UTF-8」であることを指定できるエディターでこれらの文字をコピーする必要があります。

于 2013-07-23T08:23:07.607 に答える
0

単語以外のすべての文字を空白に置き換えるだけで十分でしょうか、それとも少なくとも正しい方向への一歩でしょうか?

str = str.replaceAll("\\W+", " ");
于 2013-07-23T10:22:18.390 に答える