Avatar ·

Como iterar sobre palavras em uma string em C++: dividindo a string em tokens

Olá a todos! Sou novo em C++ (antes escrevia em Python) e me deparei com uma tarefa que parece elementar, mas me deixa travado. Preciso dividir uma string em palavras individuais e percorrê-las em um loop. Em Python, isso é feito em uma linha: `for word in sentence.split():`. Mas em C++ tudo acabou sendo mais complicado.\n\nAqui está um exemplo da minha tarefa. Tenho uma string com uma frase:\n```cpp\nstd::string text = "Hello, world! This is a test.";\n```\nPreciso obter cada palavra separadamente: "Hello,", "world!", "This", "is", "a", "test." (ou sem pontuação — isso já são detalhes). Tentei usar `std::stringstream`:\n```cpp\nstd::stringstream ss(text);\nstd::string word;\nwhile (ss >> word) {\n std::cout << word << std::endl;\n}\n```\nIsso funciona, mas apenas se as palavras forem separadas por espaços. E o que fa