Zitat:
Genau das macht die von mir vorgeschlagene Prozedur eben nicht!
Nur "O"s, die das erste Non-Blank in einer Zeile sind, werden überprüft. "O"s, die irgendwo im Text stehen, selbstverständlich nicht.
Was in meiner Prozedur noch fehlt, ist die Angabe der Zeilennummer, in der ein Fehler vorkommt.
Weiterhin fehlt dir Prüfung ob einem "O" ein oder mehrere Blanks und diesen eine Zahl folgt. Anstatt wird ein "O" am Zeilenanfang, dem keine Ziffer folgt, als Fehler erkannt.
Na gut. Ich habe in die schwammige Aufgabenstellung eine Aufgabe hineininterpretiert, die ich gelöst habe. Du hast eine etwas andere Aufgabe hineininterpretiert, die Du gelöst hast. Wir können uns jetzt noch beliebige Zusatzaufgaben ausdenken, Zeilennummern ausgeben, die durchschnittliche Zeichenzahl pro Zeile berechnen, oder was auch immer. Oder wir können es bleiben lassen
Übrigens nebenbei: Wenn ich z.B. alle
Os, die das erste non-Blank in einer Zeile sind, mitberücksichtigen will, und vielleicht noch abfragen will, ob es Blanks am Anfang gibt, dann setze ich einfach
vor das O in den regex Ausdruck, und dann kann ich mit der Abfrage
if rgx.Match[1]=''
feststellen, ob das O linksbündig ist (Das bisherige Match[1] muss ich dann natürlich auf Match[2] ändern). Will ich zwischen dem O und der Ziffernfolge Leerstellen erlauben, dann setze ich eben hinter das O die Zeichenfolge
Sonst brauche ich am Programm nichts zu ändern. Das ist es, was mir an der Programmierung mit Regex so gut gefällt.