0

テキストファイル (少なくとも 20 kb) 用のパーサーを作成する必要があり、このテキストファイル (約 400 の単語と数字) に一連の単語のうちの単語が含まれているかどうかを判断する必要があります。だから私はこれを行うための最も効率的な可能性を探しています(一致が見つかった場合、これをさらに処理する必要があり、それは前の行です)。

私が現在行っていることは、確かな情報を含まない行 (メタデータ行のようなもの) を除外し、単語ごとに比較することですが、単語ごとに比較するだけが最も効率的な可能性だとは思いません。

誰でもいくつかのヒント/ヒント/アイデア/を提供してもらえますか...

どうもありがとうございました

4

2 に答える 2

1

「効率的」とは何を意味するかによって異なります。

非常に簡単なコーディング方法が必要な場合は、Java の String オブジェクトにはメソッド String.contains(CharSequence sequence) があることに注意してください。

次に、ファイルの内容を String に入れ、contains() メソッドを使用して、確認したいキーワードのいずれかが String に含まれているかどうかを確認します。

于 2012-08-01T10:05:22.630 に答える
0

次はどうですか:

Put all your keywords in a HashSet (Set<String> keywords;)
Read the file one line at once
  For each line in file:
  Tokenize to words
  For each word in line:
  If word is contained in keywords (keywords.containes(word))
    Process actual line
    If previous line is available
        Process previous line
  Keep track of previous line (prevLine = line;)
于 2012-08-01T10:51:52.963 に答える