[C++]wydzielanie części tekstu od innej


#1

Witam,

mam takie problem:

Muszę zrobić coś typu "tester BBCode" + inne komendy. Tzn. ktoś wpisuje tekst:

Oto mój news:

imageload("mojobrazek.png");

[b = "tekst pogrubiony"]

itp.

Słowem dostałem zlecenie napisania swojego mini języka z własnymi wymyślonymi komendami.

Dokładnie mam problem z tym, jak z jakiegoś tekstu wykryć komendę "imageload(". Potem coś z tym zrobię. Tzn. Mam tekst co jest wyżej, i za pomocą jakiegoś skryptu muszę wykryć czy jest napisane: "imageload(" a potem wykryć tego koniec.

Pomożecie? :expressionless:


(Starkowski Dawid) #2

Możesz użyć funkcji string::find i przeszukiwać tekst od początku do końca. Jeśli masz tylko kilka komend, to jest to najprostsze rozwiązanie jakie mi przychodzi do głowy.


(Sawyer47) #3

Może wygodnie byłoby użyć wyrażeń regularnych? Np Boost.Regex http://www.boost.org/doc/libs/1_45_0/li ... index.html

Przy czym jeśli pierwszy raz słyszysz termin 'wyrażenie regularne' to cóż... trochę byś musiał poświęcić czasu na poznanie postaw.