Я хочу отметить следующее, но не знаю, как включить разделители с ним.Токсизировать строку и включать разделители в 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 для Сообщение Boost.Tokenizer –
Я отредактировал m y, чтобы включить всю функцию. Я вижу, что вы сделали, но разделители будут строкой, и каждый символ в строке будет разделителем. Пропустили так »,.! \ N" Таким образом, запятая, период, восклицательный знак и новая строка также будут помещены в вектор, но не в пространство. Таким образом, я могу присоединиться к вектору назад и использовать пространство между элементами вектора и перестроить строку. – Jeremiah
запятая, период, восклицательный знак и новая строка, включая пробел, будут разделителями. извините, хотел сделать ясно. – Jeremiah