String durchsuchen
Hi,
hab ein Problem will ein Text nach bestimmten Inhalt durchsuchen, welches ich in einem UnicodeString abspeichere.
Ich suche den Inhalt zwischen < > ,jedoch muss ich immer den Inhalt des UnicodeString bis zu dem 1 Treffer löschen damit er mir den 2 Treffer anzeigt. Sonst zeigt er mir immer den 1 Treffer an und nicht die anderen 19, weil er immer wieder am Anfang des Strings sucht.
Sprache C++
Wie kann ich das machen, dass er mir alle 20 Treffer anzeigt ohne den Inhalt vor dem Fund in dem String zu löschen.
Würde mich auf eine schnelle Antwort freuen.
Gruß
Sapzero
hab ein Problem will ein Text nach bestimmten Inhalt durchsuchen, welches ich in einem UnicodeString abspeichere.
Ich suche den Inhalt zwischen < > ,jedoch muss ich immer den Inhalt des UnicodeString bis zu dem 1 Treffer löschen damit er mir den 2 Treffer anzeigt. Sonst zeigt er mir immer den 1 Treffer an und nicht die anderen 19, weil er immer wieder am Anfang des Strings sucht.
Sprache C++
for (int i=0; i < 20; i++)
{
int pos1 = text.Pos("<");
int pos2 = text.Pos(">");
Memo3->Lines->Add(text.SubString(pos1,(pos2-pos1)));
text.Delete(1,pos2);
}
Wie kann ich das machen, dass er mir alle 20 Treffer anzeigt ohne den Inhalt vor dem Fund in dem String zu löschen.
Würde mich auf eine schnelle Antwort freuen.
Gruß
Sapzero
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 127215
Url: https://administrator.de/contentid/127215
Ausgedruckt am: 26.11.2024 um 05:11 Uhr
3 Kommentare
Neuester Kommentar
Hi Sapzero,
für den Fall - was ich nicht weiß - dass deine Datei wie folgt aufgebaut ist:
<Treffer 1 etc.>
<Treffer 2 etc.>
usw., würde ich die SPLIT Methode anwenden.
Schau dir mal in dem Link das Beispiel an.
Eventuell hilft dir dies, die Sache zu vereinfachen.
Ein Beispiel in VBS:
so ziemlich ähnlich geht das in C++,VB und VBS.
Gruß
Tsuki
für den Fall - was ich nicht weiß - dass deine Datei wie folgt aufgebaut ist:
<Treffer 1 etc.>
<Treffer 2 etc.>
usw., würde ich die SPLIT Methode anwenden.
Schau dir mal in dem Link das Beispiel an.
Eventuell hilft dir dies, die Sache zu vereinfachen.
Ein Beispiel in VBS:
TextZeile = "1 < Treffer1 > "
TextSpl = Split(TextZeile,"<")
'hier das Ende abschneiden, wenn es immer gleiche Anzahl an Zeichen nach
' Treffer1 enthält.
TextSpl1 = mid(TextSpl(1),1,Len(TextSpl(1)) - 3)
msgbox TextSpl1
so ziemlich ähnlich geht das in C++,VB und VBS.
Gruß
Tsuki