Hallo,
ich habe mal wieder ein Problem, wozu mit momentan keine Lösung einfällt.
Und zwar sollen wir einen Parser bauen, der Details aus KFZ-Rechnung ausliest. Unter anderem sollen auch die verwendeten Ersatzteile ausgelesen werden.
Die Tabelle sieht zum Beispiel so aus:
ARB.POS.NR/ INSTANDSETZUNGS-/EINZEL-/VERBUNDARBEITEN KL AW ARB.-
LEIT-NR
Uns fallen momentan aber keine sinnvollen Möglichkeiten ein, wie man das automatisch mit einem Algorithmus trennen könnte. Die Trenner sind leider Leerzeichen und keine Tabulatoren.
Habt ihr eine Idee, wie man das machen könnte?
Viele Grüße
Tobias
Hallo,
ich würde es ansatzweise in etwa so versuchen, wenn die Werte immer in der selben Spalte stehen:
// String ASCIIString = die eingelesene Textdatei
char[] separatorsText = new char[] { '\r', '\n' }; // Seperator für Textdatei
char[] separatorsZeilen = new char[] { ' ' }; // Seperator für die Zeilen
// Textdatei in Zeilen teilen
String[] stringZeilen = ASCIIString.Split(separatorsText,StringSplitOptions.RemoveEmptyEntries);
// Array für Spalten
String[] stringSpalten = { };
foreach(string Zeile in stringZeilen)
{
// Zeilen in einzelne Spalten teilen
stringSpalten = Zeilen..Split(separatorsZeilen, StringSplitOptions.RemoveEmptyEntries);
// stringSpalten verwenden.....
}
Gruß mar_bee
Danke erstmal für die Hilfe.
Ich habe das jetzt mal ausprobiert, habe aber noch einige Problem.
Und zwar sobald die Spalte nicht zusammenhängend sind (also keine Leerzeichen sind)
Hier mal die komplette Tabelle.
ARB.POS.NR/ INSTANDSETZUNGS-/EINZEL-/VERBUNDARBEITEN KL AW ARB.-
LEIT-NR PREIS
66 05 19 00 KUEHLERGRILL AUS-/EINBAUEN 2 2 16.60
63 29 19 50 ABDECKUNG STOSSFAENGER V AUS-/EINBAUEN 2 4 33.20
(KUEHLERGRILL AUSGEBAUT)
50 55 19 50 KOTFLUEGEL V R AUS-/EINBAUEN 2 7 58.10
(ABDECKUNG F STOSSFAENGER AUSGEBAUT)
UMFASST: RADHAUSSCHALE AUS-/EINBAUEN
57 51 19 00 TUER V R AUS-/EINBAUEN 3 4 33.20
57 51 55 50 TUER V R ERSETZEN (TUER AUSGEBAUT) 3 19 157.70
UMFASST: AUS-/EINBAU SAEMTLICHER TEILE
58 64 19 00 TUERDICHTUNG H A R AUS-/EINBAUEN 2 3 24.90
Wie könnte man denn das jetzt trennen. Wir haben da jetzt schon ewig mit Regulären Ausdrücken probiert, aber wir finden einfach keine Lösung dafür.
Vielen Danke und viele Grüße
Tobias
Hallo B A L U,
die Aufteilung ist doch wohl positionsbezogen. Also String.Substring.
herbivore