This tutorial describes the steps to parse delimited data. The
data in the URI that is delimited into segments can be parsed using the TDelimitedXxxxParser8
classes.
TDelimitedXxxxParser8
classes provide
functionalities to parse delimited data, extract the current segment and parse
the string for the next segment.
Use the class derived from TDelimitedParserBase8
for
implementing the function provided by TDelimitedXxxxParser8
.
The following three classes are used to parse the respective URI components:
TDelimitedXxxxParser8
: Set the delimiter (before parsing the data) to a specific character
using SetDelimiter()
. For example:
//set the delimiter character to '/' SetDelimiter(TChar('/'));
Parse the data into segments from left to right using Parse()
.
Parse the data into segments from right to left using ParseReverse()
.
Note: Parse the data into segments before calling any of the functions described in the following steps.
Parse to the next segment using Inc()
.
Get the descriptor reference with the data using Des()
.
Get the current segment and parse the data to the next segment using GetNext()
.
Get the current segment using Peek()
.
Get the remaining data from (and including) the current segment using Remainder()
.
TDelimitedPathParser8
for parsing path into directories
separated by '/'. For example: /doc_source/guide/N10047/index.html
.
TDelimitedPathSegmentParser8
for parsing parameters
that are separated by ';' For example: postd=pp22;isub=1411@foo.com;user=phone
.
TDelimitedQueryParser8
for parsing the query string
(after a '?') into name/value pairs that is separated by '&'. For example: sortcol=4&table=1&up=0&view=details
The following table shows the delimiter to be used to separate each of the URI components: