Wyciągnięcie konkretnej wartości z ciągu znaków.

0

Witam mam taki problem, którego nie mogę rozwiązać w C++ (W php bym sobie z tym co prawda poradził):

Mam Button, który pobiera kod źródłowy strony z przeglądarki i zapisuje go do RichEdit, i po wyciągnięciu z RichEdit konkretnej linijki:

AnsiString tekst;
	  tekst = RichEdit1->Lines->operator [](79); 

Na tym etapie sobie poradziłem, linijka zawiera kod embed z youtube:
<iframe width="600" height="415" src="http://www.youtube.com/embed/eJWlavnM6b0" frameborder="0" allowfullscreen></iframe>

I teraz najważniejsze pytanie, jaką metodą wyciągnąć sam adres? Probowałem z zamianą prawej i lewej strony na pusty znak, ale pokazywało mi błąd: **[BCC32 Error] Unit1.cpp(59): E2129 Character constant too long (or empty) **

Wynik końcowy musi wyjść: http://www.youtube.com/embed/eJWlavnM6b0

Macie może jakieś pomysły? Nie liczę na gotowca tylko na nakierowanie.

Z góry dziękuje.

1

Nie mam "pod ręką" Buildera więc z pamięci:

AnsiString link;
int poz = tekst.Pos("src=\"")+5;
int poz2 = tekst.Pos("\" f") - 1; 
link = tekst.SubString( poz, poz2 - poz);
 

Co do zasady powinno być ok ale pokombinuj bo znając życie to trzeba gdzieś dodać/odjąć 1 ;)

Możesz też zrobić to na dwa SubString-i najpierw jeden a później w drugim znajdujesz pierwszy " i do niego przycinasz.

0

Wielkie dzięki. Działa i przynajmniej już zapamiętam tą funkcję do wycinania znaków.

1 użytkowników online, w tym zalogowanych: 0, gości: 1