Sono un token con il seguente, ma non sono sicuro di come includere i delimitatori con esso.Tokenizzare una stringa e includere delimitatori in 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 per il Boost.Tokenizer menziona –
ho modificato m y post per includere tutte le funzioni. Vedo cosa hai fatto, ma i delimitatori saranno una stringa e ogni carattere nella stringa sarà un delimitatore. Passato in questo modo ",.! \ N" Quindi una virgola, punto, punto esclamativo e nuova riga verranno inseriti nel vettore, ma non nello spazio. In questo modo posso unire il vettore indietro e utilizzare uno spazio tra gli elementi vettoriali e ricostruire la stringa. – Jeremiah
virgola, punto, punto esclamativo e nuova riga compreso lo spazio saranno i delimitatori. scusa volevo chiarirmi. – Jeremiah