javastringalgorithmparsing

Algorithms for string processing


I have a question which make me think about how to improve speed and memory of system. I will describe it by example, I have this file which have some string:

<e>Customer</e>
    <a1>Customer Id</a1>
    <a2>Customer Name</a2>
<e>Person</e>

It similar to xml file.

Now, my solution is when I read <e>Customer</e>, I will read from that to a nearest tag and then, substring from <e>Customer</e> to a nearest tag.

It make the system need to process so much. I used only regular expression to do it. I thought I will do the same as real compiler which have some phases (lexical analysis, parser).

Any ideas?


Solution

  • If you really don't want to use one of the free and reliable xml parsers then a truly fast solution will almost certainly involve a state machine.

    See this How to create a simple state machine in java question for a good start.

    Please be sure to have a very good reason for taking this route.