0

次のような大きなツリーのように構造化された大きなテキスト ファイルがあります。

{ SomeType
    - parameter1 = value;
    - parameter2 = { SomeType2
         -paramter 1 = { SomeType3
                ...
         }
     - parameter3 = { SomeType4
         ...
         - name = "name";
         ...
         }
    - name = "name";
    - more paramters;
}{ SomeType
    - parameter1 = value;
    - parameter2 = { SomeType2
         -paramter 1 = { SomeType3
                ...
         }
     - parameter3 = { SomeType4
         ...
         - name = "name";
         ...
         }
    - name = "name";
    - more paramters;
}

ファイルには 10,000 行を超える行があり、今のところ、特定のタイプに関連付けられているすべての名前を見つける必要があります。

私が抱えている問題は、特定のタイプの場合、名前の行がタイプの後の最初の行であることが多いですが、他の場所では、独自の名前を持つ他の多くのサブタイプの後にあることです。したがって、タイプを1行ずつ検索して、「名前」を含む次の行を取得することはできません。また、同じタイプがさらに深いレベルで見つかります。

機能するアルゴリズムが見つからないようで、Java で実装できます。

4

1 に答える 1

0

あなたの状況で実行可能であれば、データ表現を XML や JSON などの既知の表現モデルのいずれかに変更し、具体的なデータ表現形式のパーサー メカニズムを使用することをお勧めします。幸いなことに、XML と JSON の両方に対応する安定した効果的なパーサーが多数あります。

于 2013-03-28T13:13:41.397 に答える