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;
}

该文件有超过 10k 行,现在我需要找到与某种类型关联的所有名称。

我遇到的问题是,对于某种类型,名称行通常是类型之后的第一行,但在其他地方,它位于许多其他具有自己名称的子类型之后,依此类推。所以我不能只逐行搜索类型,然后获取包含“名称”的下一行。同样的类型也可以在更深的层次上找到。

我似乎找不到有效的算法,我可以用 java 实现。

4

1 回答 1

0

如果在您的情况下可行,我建议您将数据表示更改为 XML 或 JSON 等已知表示模型之一,并为具体的数据表示格式使用解析器机制。幸运的是,有很多稳定有效的 XML 和 JSON 解析器。

于 2013-03-28T13:13:41.397 回答