Maison  >  Article  >  développement back-end  >  Comment diviser des chaînes avec plusieurs délimiteurs en C ?

Comment diviser des chaînes avec plusieurs délimiteurs en C ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-21 18:03:10329parcourir

How to Split Strings with Multiple Delimiters in C  ?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn