Diviser des chaînes avec plusieurs délimiteurs [Dupliquer]
Dans le traitement de texte, il est souvent nécessaire de diviser une chaîne en mots ou jetons individuels. Alors que les techniques standard de fractionnement de chaînes excellent dans la gestion des délimiteurs uniques, la tâche devient plus difficile avec plusieurs délimiteurs.
Problème :
Étant donné une chaîne et un ensemble de délimiteurs, comment pouvons-nous diviser la chaîne en mots tout en considérant tous les éléments spécifiés délimiteurs ?
Solution :
Pour diviser efficacement une chaîne à l'aide de plusieurs délimiteurs, nous exploitons une combinaison d'opérations de flux de chaîne et de sous-chaîne. Voici une version modifiée du code fourni :
std::stringstream stringStream(inputString); std::string line; while(std::getline(stringStream, line)) { std::size_t prev = 0, pos; auto delimiters = " ';"; // Customize delimiter string here while ((pos = line.find_first_of(delimiters, prev)) != std::string::npos) { if (pos > prev) wordVector.push_back(line.substr(prev, pos-prev)); prev = pos+1; } if (prev < line.length()) wordVector.push_back(line.substr(prev, std::string::npos)); }
Explication :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!