M-Cha Geschrieben 30. September 2009 Geschrieben 30. September 2009 Ich muss umbedingt mit RegEx arbeiten und muss dafür Pattern! Das Wort begint mit TABLE ist beliebig lang und endet mit .\n! Wie stelle ich das genau an! Es soll dann der ganz String angezeigt werden! Habe so angefangen aber irgendwie, ist es nciht richtig! Regex Test ("^[TABLE].*?[.]\n"); Zitieren
TDM Geschrieben 30. September 2009 Geschrieben 30. September 2009 Wie stelle ich das genau an! Ist das eine Frage? Der erste Google-Treffer ist das hier; sollte ausreichend sein. Zitieren
Sturm Geschrieben 30. September 2009 Geschrieben 30. September 2009 Hallo M-Cha! Bist du schonmal deinen RegEx Schritt für Schritt durchgegangen und hast auch die Anleitungen im Netz schon gelesen? Kleine Hilfe zum "Debugging": RegEx: online regular expression testing Dort kannst du deine RegEx testen... Zu deinem Anfang: Entweder hast du dir nicht viel Mühe gegeben oder du hast das Grundprinzip nicht verstanden... Da stimmt so ziemlich gar nichts. Mein erster Anreiz zur Verbesserung: "[TABLE]" würde z.B. auch nur den String "A" oder "T" akzeptieren... Aber das allein wird nicht ausreichen, also lies dir nochmal alles genau durch und überarbeite das Ganze noch einmal Zitieren
M-Cha Geschrieben 30. September 2009 Autor Geschrieben 30. September 2009 (bearbeitet) Ja hab kleine Verständnisprobleme beim erstellen. Habe es jetzt etwas editiert! new Regex("(TABLE).*?.\r") Er soll das Wort TABLE in der Datei suchen und dann bis zum ersten Punkt+Zeilenumbruch nach dem Wort Tabele lesen. Den String dann asugeben! Er gibt mir jetzt den String aus. Aber eben nur die Zeile wo das Wort "TABLE ist"! Er soll aber bis zum nächsten Punkt+Zeilenumbruch lesen! Bearbeitet 30. September 2009 von M-Cha Zitieren
McSaesch Geschrieben 30. September 2009 Geschrieben 30. September 2009 Hallo, poste doch mal bitte nen kompletten Bsp.string und was dann das Ergebnis sein soll. Zitieren
M-Cha Geschrieben 30. September 2009 Autor Geschrieben 30. September 2009 Hallo, poste doch mal bitte nen kompletten Bsp.string und was dann das Ergebnis sein soll. Regex FIND = new Regex("(TABLE).*?.\r", RegexOptions.Multiline); //Regex POINT = new Regex("NO-ERROR"); MatchCollection fd = FIND.Matches(inhaltA); MatchCollection pt = POINT.Matches(inhaltA); for (int i = 0; i < fd.Count; i++) { //string test; Console.WriteLine("Position FIND: " + fd[i].Index); Console.WriteLine("Gefunden wurde: " + fd[i].Value); //for (int j = fd[i].Index; j < pt.Count; j++) { } //Console.WriteLine("Position POINT: " + pt[i].Index); test = inhaltA.Substring(fd[i].Index, pt[i].Index); Console.WriteLine("------------------------------"); } Er gibt mir jetzt zwar die Strings ab TABLE aus, aber nur zeilenweise. Manche Strings gehen über 1-2 Zeilen hinaus. Er soll nciht am Zeilenende schneiden, sondern bis zum nächsten PUNKT+Zeilenumbruch/LEERZEICHEN lesen. Zitieren
McSaesch Geschrieben 30. September 2009 Geschrieben 30. September 2009 Ich meinte eher einen String den du untersuchen willst , also einen String wo dein TABLE drin steht. Und was dann genau das Ergebnis sein soll. Bsp.: 1234TABLE_TEST. Ergebis: _TEST <= korrekt? Zitieren
JasonDelife Geschrieben 30. September 2009 Geschrieben 30. September 2009 Damit nicht alles doppelt kommt. Hier wurde das von M-Cha auch gefragt: C-Sharp-Forum.de - Mehrere String aus Datei auslesen? Grüße, JasonDelife. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.