[C#] - String auf bestimmten aufbau überprüfen

shrax

Stammuser
Hallo,

meine Programmierkenntnisse sind noch relativ gering ausgeprägt, deswegen würde ich gerne wissen ob das Verfahren das ich hier anwenden würde wirklich sinnvoll ist oder ob es bessere Lösungswege dafür gibt.

Ich habe eine Textdatei. Ich möchte überprüfen ob eine Zeile in der Textdatei den richtigen Aufbau hat. D.h. in der Textdatei sind Einträge die folgenden Aufbau haben:

"Eigenschaftsname"="Eigenschaft";
z. B.
"name"="Hans Hanserer";

Ich würde wie folgt vorgehen.

- lese eine Zeile aus der Datei.
- speichere diese Zeile in einen String
- ich überprüfe ob das letzte Zeichen ein ; ist
- -> wenn ja schneide ich für die weitere Verarbeitung das ; weg, wenn nein ist die Zeile ungültig
- gehe jedes Zeichen durch, und prüfe ob genau EIN = in dem String vorkommt
- wenn keines oder mehrere vorkommt/en : aufbau ungültig
- wenn eines vorkommt: splitte ich den String mit sting.split('=')
- jetzt überprüfe ich, ob jedes der beiden aufgesplitteten teile mit " beginnt und mit " endet
- wenn ja ist der Aufbau "Eigenschaftsname"="Eigenschaft"; gegeben
- in weiteren schritten könnte ich noch prüfen ob der eigenschaftsname und wert gültig sind
 
Zuletzt bearbeitet:

xeno

Moderator
Mitarbeiter
Im Prinzip doch bloß das hier:

wenn $zeile matcht auf ^\".*\"=\".*\";$ dann...

Wobei zu prüfen ist, was alles escaped werden muss (hab nur die Gänsefüßchen gemacht).

Nachtrag: hier gibt's Beispiele: http://www.dotnetperls.com/regex-match
 
Zuletzt bearbeitet:
Oben