Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Platzhalter mal andersrum bzw. Parser ? (https://www.delphipraxis.net/40344-platzhalter-mal-andersrum-bzw-parser.html)

Bitworm 14. Feb 2005 16:15


Platzhalter mal andersrum bzw. Parser ?
 
Hi !

Folgende Problemstellung: ein String von variabler Länge hat einen definierten Aufbau, um
so bestimmte Substrings herausschnibbeln zu können.
Beispiel: hinterlegt ist als Formataufbau *%a*%b=%cEUR [%d].
Strings die rein kommen sehen so aus :

*444*333=2345EUR [Test]
*123432*22=111111EUR [Willi Wacker]
usw.

Ich suche nun eine Funktion (vielleicht kennt jemand ja eine fertige Lösung), in der ich das
Ganze auslesen kann (also der entgegengesetzte Vorgang, wie er sonst bei Platzhaltern durch-
geführt wird).
Der Aufruf wäre dann also der, daß ich den String zerlegt bekomme und als Ergebnis eine
StringListe bekomme wie folgt:

Aufruf mit *%a*%b=%cEUR [%d] und *444*333=2345EUR [Test]
%a=444
%b=333
%c=2345
%d=Test

Kann man das Ganze als Parser bezeichnen ? Wenn jemand einen Tipp für mich hat wäre ich sehr dankbar.

Niko 14. Feb 2005 16:40

Re: Platzhalter mal andersrum bzw. Parser ?
 
Hi,

am einfachsten geht das mit regulären Ausdrücken.

Da diese in Delphi aber nicht standardmäßig unterstützt werden, kannst du dir eine entsprechende Klasse zum Beispiel hier herunterladen. Unter Hier im Forum suchenTRegExpr findest du auch einige Beispiele zur Verwendung.

opfer.der.genauigkeit 14. Feb 2005 16:56

Re: Platzhalter mal andersrum bzw. Parser ?
 
Ist % immer vorhanden und a, b, c nur ein fortlaufender Bezeichner?
Dann könntest du nach % parsen ohne dir vorher RegEx reinzuziehen.. wobei das schon ziemlich stylisch ist. :mrgreen:

Bitworm 14. Feb 2005 17:55

Re: Platzhalter mal andersrum bzw. Parser ?
 
Zitat:

Zitat von opfer.der.genauigkeit
Ist % immer vorhanden und a, b, c nur ein fortlaufender Bezeichner?
Dann könntest du nach % parsen ohne dir vorher RegEx reinzuziehen.. wobei das schon ziemlich stylisch ist. :mrgreen:

Das % zur Identifikation des Platzhalters ist immer vorhanden.

Bitworm 14. Feb 2005 17:59

Re: Platzhalter mal andersrum bzw. Parser ?
 
Zitat:

Zitat von Niko
Hi,

am einfachsten geht das mit regulären Ausdrücken.

Da diese in Delphi aber nicht standardmäßig unterstützt werden, kannst du dir eine entsprechende Klasse zum Beispiel hier herunterladen. Unter Hier im Forum suchenTRegExpr findest du auch einige Beispiele zur Verwendung.

Den Link werde ich mir mal genau ansehen. Danke für den Hinweis !


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:10 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz