Diviser des chaînes avec plusieurs délimiteurs
Lorsque vous travaillez avec du texte, il est souvent nécessaire de diviser une chaîne en mots ou jetons individuels. Dans les cas où un seul délimiteur est insuffisant, voici comment utiliser plusieurs délimiteurs pour réaliser cette tâche.
En supposant que l'un des délimiteurs est le caractère de nouvelle ligne, l'extrait de code suivant montre comment lire le texte d'un flux de chaînes, divisé en lignes et subdivisez chaque ligne en fonction des délimiteurs désignés.
std::stringstream stringStream(inputString); std::string line; while(std::getline(stringStream, line)) { std::size_t prev = 0, pos; while ((pos = line.find_first_of(" ';", 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)); }
Dans ce code, la chaîne de ligne est lue puis traité. La fonction find_first_of est utilisée pour rechercher la première occurrence d'un caractère dans la chaîne de délimiteur spécifiée (" ';" dans ce cas). Les mots sont extraits entre les délimiteurs, et ceux en début ou en fin de ligne sont également capturés. Les jetons sont ensuite ajoutés au wordVector.
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!