Boost Spirit, nur einen kleinen Teil einer grossen Datei parsen
-
Hallo,
ich habe eine grosse Datei in der viele Informationen stehen, mich interesstiert aber nur ein kleiner Teil der Datei. Wie kann ich nun einen Parser schreiben der mir nur diesen kleinen Teil geparst zurueckgibt. Frueher habe ich immer parser geschriebn die alles geparst haben aber diesmal ist das Dateiformat zu umfangreich und ich brauche 90% der informationen auch nicht.
Hier z.B der Anfang der Datei:
STIL 1.0 { Desgin 2008; } Header { Title "aajksdfakjsbdad"; Date usw. . . . } SignalGroups{}Mich interessiert nur der Teil der mit SignalGroups anfaengt. Wie kann ich alles davor elegant ueberlesen?
Besten Dank

-
Weißt du irgendwie mehr darüber, wie weit unten das SignalGroups kommt? Falls ja: Hinspringen. Falls nein, wirst du wohl danach suchen müssen. Falls Title oder ein anderes Feld auch den Wert "SignalGroups" haben kann, dann musst du sogar den Inhalt parsen, um zu wissen, ob du wirklich in der Kategorie SignalGroups bist und nicht bloß ein Feld mit diesem Wort als Wert vorliegen hast.
-
falls 'SignalGroups' immer am Anfang einer Zeile steht, hilft vielleicht 'search_text_at_beginline' weiter.
-
Genau weiss ich wann genau SignalGroups kommt, davor kann noch eine ganze menge stehen, aber das Wort SignalGroups kommt immer nur einmal in der Datei vor, es kann auch nicht irgendwo als Name verwendet werden.
Ja, SignalGroups steht immer am Anfang der Zeile, aber davor koennen halt noch Leerzeichen stehen. Funktioniert search_text_at_beginline dann immer noch?
-
Ja - führende Leerzeichen werden ignoriert, da es sich um formatierendes Lesen handelt.
Nur der Suchtext selbst darf keine Leerzeichen oder andere White Space Character enthalten.