ランダムfile.txt
をString[]
に分割しようとしています。テキストはGutenberg.org
から来ていて、新しい行がたくさんあります。正規表現と改行
例:リンカーン書簡の
プロジェクト・グーテンベルク電子ブック、エイブラハム・リンカーン
によるこの電子ブックは、どこにでも無償で誰の使用と全く ほとんど制限があります。あなたは、プロジェクト・グーテンベルクのライセンスの下、それをコピーし、それを離れて与えるか、または それを再使用することができwww.gutenberg.org
タイトルで、この電子ブックまたはオンライン を含ま:リンカーン書簡
段落を終わらせ、段落を始める単語ではなく、すべての単語に対して正しい出力が得られます。
たとえば、「リンカーン」と「これ」の組み合わせであるが、1語として扱われる「リンカーン」。代わりに、私は "リンカーン"と "これ"を持っていたいと思います。
token = word.split("\\s|\\.|\\,");
これは私がテキストファイルを分割するために使用している正規表現です。助けてください。ここで
は、私が入力したテキストファイルを使用していますコードです:
FileReader fr = new FileReader("C:\\Users\\Petr Holoubek\\Desktop\\hello world.txt");
BufferedReader br = new BufferedReader(fr);
String[] tokens;
String temp;
int i;
i = 0;
temp = "";
while((i=br.read()) != -1) {
temp = temp + br.readLine();
}
そしてここでは、実際のトークン化である:
public String[] tokenize(String word){
//divides the input by non-char symbol and
//puts tokens into state hashmap as keys
String[] token;
token = word.split("\\s|\\.|\\,");
return token;
}
はあなたの助けのためにありがとうございました!
は私達にあなたのコードを表示します。 Sean Fが正しければ、 'BufferedReader#readLine'を使っています。これは完璧です。メソッドはあなたのための行末処理とテキストのコレクションを 'String'に処理します。本当の努力とバグ節約。あなたがまだいない場合はそれを使用してください。しかし、それはすべてを行うことはありません。それぞれの行の最後にスペースを挿入しなければなりません。行を除いてはいけません。悪魔はその後詳細になります。低レベルの 'read'を使わないでください。自分に親切にする!そして良かったら、あなたのコードを見せてください。 –