Mam zaszczyt z następujących, ale nie wiem, jak uwzględnić ograniczniki z nim.Tokenize ciąg znaków i ograniczniki w C++
void Tokenize(const string str, vector<string>& tokens, const string& delimiters)
{
int startpos = 0;
int pos = str.find_first_of(delimiters, startpos);
string strTemp;
while (string::npos != pos || string::npos != startpos)
{
strTemp = str.substr(startpos, pos - startpos);
tokens.push_back(strTemp.substr(0, strTemp.length()));
startpos = str.find_first_not_of(delimiters, pos);
pos = str.find_first_of(delimiters, startpos);
}
}
+1 do Boost.Tokenizer wspomina o –
Edytowałem m y post, aby uwzględnić całą funkcję. Widzę, co zrobiłeś, ale ograniczniki będą ciągiem znaków, a każdy znak w ciągu będzie ogranicznikiem. Tak jak poprzednio ",.! \ N" Tak więc przecinek, kropka, wykrzyknik i nowa linia będą również wepchnięte do wektora, ale nie do spacji. W ten sposób mogę dołączyć do wektora i użyć spacji pomiędzy elementami wektora i odbudować ciąg. – Jeremiah
przecinek, kropka, wykrzyknik i nowa linia, w tym spacja, będą ogranicznikami. Przepraszam, chciałem to wyjaśnić. – Jeremiah