Substring findet nicht immer alles, warum?
-
Hallo
Ich habe in einem Memo-Feld eine Logdatei geladen wo viele kleine Datenpakete nach folgendem Prinzip drin stehen:
Zeit: xxx
Name: xxx
IP: xxxManchmal stehen auch noch Daten dabei die ich nicht braucht (z.B.: ein Domainname: xxx)
Die unnötigen Sachen filtere ich nach folgendem Prinzip raus:
for(int c=0;c<memo->Lines->Count;c++) { if(memo->Lines->Strings[c].SubString(0,6)=="Domain") { Form1->memo->Lines->Delete(c); } }
in dieser Schleife stehen auch noch anderen if-Abfragen drin, die andere Zeilen herausfiltern.
Mein Problem ist nun folgendes:
Es kommt vor, dass manche Zeilen wo am Anfang dieser Begriff drin ist nicht rausgefiltert/gelöscht werden obwohl es Substringtechnisch korrekt ist. Sämtliche anderen werden jedoch korrekt gelöscht.
Gehe ich nun hin und mache eine weitere For-Schleife "auf" und schreibe dort die if-Abfrage mit dem Substring rein, so werden an dieser Stelle die Zeilen korrekt gelöscht.
Ist das ein Bug vom Substring oder woran könnte das liegen?
-
Es liegt an einem nicht ausgereiften logischen Ablauf von dir... Siehe dazu auch diesen Thread:
http://www.c-plusplus.net/forum/viewtopic.php?t=62521
-junix
-
Super
Vielen Dank
auf die idee bin ich noch nicht gekommen.
Ich danke dir