Quelltext beschneiden bzw bestimmte zeichen kopieren..
-
Hallo,
mal wieder etwas was meine Programmierkünste übersteigt

Ich möchte in einem Programm einen Quelltext durchsuchen lassen und an bestimmten Punkte etwas herauskopieren bis zu einem anderen bestimmten Punkt
Probleme:
1. </td>(Hier ist ein Retunr zwischen)<td class="grid-cell" nowrap align="left">
meine Idee
Quell= NMHTTP1->Body; Memo1->Lines->Add(Quell); Edit1->Text=Quell; Edit2->Text=(Quell.Pos("</td><td class=\"grid-cell\" nowrap align=\"left\">"));So geht es leider nicht da er das nicht erkennt weil ein return dazwischen ist...
Meine Frage also: wie kann ich den String komplett returnfrei machen oder wie kann ich dem Pos sagen das dazwischen ein Return ist ?
Würde der Quelltext stimmen kommt nach der Position entweder 1 oder 2 zeichen, (kommt drauf an), er müsste also im Grunde dazwischen alles kopieren bis
das abschließende </td> kommt. Wie geht so etwas?So nun kommt das dritte Problem
Da solch eine Art des Quelltextaufbaus mehrmals vorkommt müsste sich das ganze wieder bis der String beim letzten Zeichen ist

So wäre um ein paar Antworten dankbar.
:schland:

-
hmm...also nimm doch std::string und dann schau dir mal find_first_of und substr() an!
-
siehe StringReplace oder hiess es etwa ReplaceString...

-
Ich dachte eher an einen Hilfe nach copy&paste methode

oder anhand eines beispieles das wäre toll
-
Hallo
deine Frage läßt sich ganz durch die BCB-Hilfe beantworten. Schau dir StringReplace an.
Desweiteren kannst du den Zeilenumbruch im Quelltext durch die beiden Zeichen "\r\n" darstellen lassen
bis bald
akari
-
Timon6Pumba schrieb:
Ich dachte eher an einen Hilfe nach copy&paste methode

oder anhand eines beispieles das wäre toll

-
ist wirklich schade dass einige ihr Gehirn immer am Empfang abgeben

falls du nix mit der Hilfe anfangen kannst: Hilfe
-
Naja wie ich sagte das ist mir zu hoch.. will das aber lösen... mit ReplaceString kann ich doch nicht das machen was ich will ich will ja nichts ersetzen sonder herausschneiden.. mit dem find_first_of sieht ja nicht schlecht aus aber das krieg ich nicht hin... bei delphi gab es so einfache befehle wie concat ect aber bei c++ steig ich net durch

-
Hallo
mit ReplaceString kann ich doch nicht das machen was ich will ich will ja nichts ersetzen sonder herausschneiden
Was glaubst du mach folgender Aufruf?
StringRelace(text, "\r\n", "", TReplaceFlags() << rfReplaceAll);mit dem find_first_of sieht ja nicht schlecht aus aber das krieg ich nicht hin
das ist eine Methode von std::string, das kannst du nicht bei AnsiString verwenden. Gibt auch keine Grund dazu, denn diese Methode macht genau dasselbe wie AnsiString::Pos
bei delphi gab es so einfache befehle wie concat ect aber bei c++ steig ich net durch
In C gibt es strcat, was concat entspricht. Nur brauchst du in C++ soetwas nicht, das hier AnsiStrings einfach über den Plus-Operator zusammengefügt werden können.
bis bald
akari
-
Mit regl. Ausdrücken ist das vielfach einfacher: