0

私はJavaStringTokenizerを研究しています。段落の終わりを見つける方法を探しています。

たとえば、1つのテキストファイルがあります。

HI
I am bob the the bob

And I am am  bob bob bob lu the the 

hello

txtファイルを読んでいて、StringTokenizerを使用して各単語をハッシュテーブルに配置しています

ただし、段落が終わったらやめたいと思います。例えば、

まず、保存したい

"HI
I am bob the the bob" 

次に、二重改行が表示されたら停止します。ハッシュテーブルに「1」を挿入します。次に挿入したい

"And I am am  bob bob bob lu the the "

第三に、二重改行が再び表示されたら、再び停止します。そして、ハッシュテーブルに「2」を挿入します

それから

ハッシュテーブルに「hello」を挿入します。

しかし、私は各段落の終わりで停止する方法が本当にわかりませんか?

誰かがそれを行う方法を知っていますか?

4

2 に答える 2

0

区切り文字として空のスペース (" ") を使用していると思います。「\ n」を区切り文字として2番目のトークナイザーを使用し、それを使用してファイルを解析し、すべてのトークンに区切り文字を使用しようとします。

実際のところ、最初のトークナイザーを使用した後のトークン間のすべての空行は段落の終わりです

于 2012-09-11T08:37:29.800 に答える
0

二重改行の検出は、sring トークナイザーの責任ではありません。トークナイザーを使用して 1 行を分割し、単語を区切ります。しかし、行を読み取る外側のループがあると思います。空行を検出すると、段落が終了します。

while((line = reader.readLine()) != null) {
   if ("".equals(line.trim())) {
      // empty line  - new paragraph. 
   }
} 
于 2012-09-11T08:40:15.530 に答える