Довольно долго я увлекался PHP и находил способ работы со строками очень удобным, так что вот немного функция для работы с stl строками в духе PHP
vector<string> explode(string& str, string separator) { vector<string> results; int found; found = str.find_first_of(separator); while(found != string::npos){ if(found > 0){ results.push_back(str.substr(0,found)); } str = str.substr(found+1); found = str.find_first_of(separator); } if(str.length() > 0){ results.push_back(str); } return results; }
аналог explode в PHP, первый параметр строка, второй разделитель, на выходе получаем vector строк.
string implode( const vector<string> &pieces, const string &glue) { string a; int leng=pieces.size(); for(int i=0; i<leng; i++) { a+= pieces[i]; if ( i < (leng-1) ) a+= glue; } return a; }
обратная функция склеивает vector строк клеем glue на выходе получаем строку
string& replaceAll(string& context, const string& from, const string& to) { size_t lookHere = 0; size_t foundHere; while((foundHere = context.find(from, lookHere)) != string::npos) { context.replace(foundHere, from.size(), to); lookHere = foundHere + to.size(); } return context; }
заменим все на хрен xDDD все видно из прототипа не будем играть в капитана очевидность.
Оставить комментарий