WyciÄ…ganie tekstu ze stringa

dział ogólny

WyciÄ…ganie tekstu ze stringa

Nowy postprzez mko000 » poniedziaÅ‚ek, 1 lutego 2010, 16:35

Witam. Jak wyciągnąć jakiś tekst ze stringa gdy wiemy jakimi znacznikami sie zaczyna i kończy ? np.
<span style="color:#000000; font-family:'MS Shell Dlg 2'; font-size:9pt; ">Test do wyciecia</span>

Jak widać tekst jest między znacznikami > < .
Avatar użytkownika
mko000
Homos antropiczny
Homos antropiczny
 
Posty: 74
Dołączył(a): sobota, 19 grudnia 2009, 00:30
PodziÄ™kowaÅ‚ : 35
OtrzymaÅ‚ podziÄ™kowaÅ„: 0
System operacyjny: Windows XP Pro SP2
Kompilator: C++ Builder 2010
    Windows XPFirefox

Re: WyciÄ…ganie tekstu ze stringa

Nowy postprzez Cyfrowy Baron » poniedziaÅ‚ek, 1 lutego 2010, 16:58

Podany przez Ciebie tekst zawiera cudzysłowy zagnieżdżone w cudzysłowach, więc przy zapisie w kodzie programu powinno się te zagnieżdżone poprzedzić ukośnikiem, ale jeżeli będziesz to pobierał z jakiegoś pliku to wtedy nie jest to konieczne.

W przykładzie jednak zamieszczę podany przez Ciebie tekst w kodzie programu dlatego zagnieżdżone cudzysłowy będą poprzedzone ukośnikami, nie ma to jednak znaczenia dla zasady działania kodu.

Dla podanego przykładu może to wyglądać tak:

Kod: Zaznacz cały
String tekst = "<span style=\"color:#000000; font-family:'MS Shell Dlg 2'; font-size:9pt; \">Test do wyciecia</span>";

int x = tekst.Pos(L">"); // pierwszy znak
int y = tekst.LastDelimiter(L"<"); // ostatni znak
tekst = tekst.Delete(y, tekst.Length()); // obcinanie zbędnej reszty

Edit1->Text = tekst.SubString(x + 1, tekst.Length());


Jeżeli jednak chcesz parsować dokument HTML to nie będzie to zbyt skuteczne.

Prosty kod parsujący znajdziesz w serwisie Cyfrowy Baron w dziale: porady -> sieć - internet -> Wyciąganie adresów URL ze stron internetowych. Jest trochę niepoprawny, gdyż zamiast funkcji Pos powinienem tam używać funkcji AnsiPos.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
PodziÄ™kowaÅ‚ : 12
OtrzymaÅ‚ podziÄ™kowaÅ„: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox


  • Podobne tematy
    Odpowiedzi
    Wyświetlone
    Ostatni post

Powrót do Ogólne problemy z programowaniem

Kto przeglÄ…da forum

Użytkownicy przeglądający ten dział: Google [Bot] i 5 gości