Heim >Backend-Entwicklung >C++ >Wie teile ich Strings mit mehreren Trennzeichen in C auf?

Wie teile ich Strings mit mehreren Trennzeichen in C auf?

Barbara Streisand
Barbara StreisandOriginal
2024-11-21 18:03:10382Durchsuche

How to Split Strings with Multiple Delimiters in C  ?

Strings mit mehreren Trennzeichen aufteilen

Bei der Arbeit mit Text ist es oft notwendig, einen String in einzelne Wörter oder Token aufzuteilen. In Fällen, in denen ein einzelnes Trennzeichen nicht ausreicht, erfahren Sie hier, wie Sie mehrere Trennzeichen verwenden, um diese Aufgabe zu erfüllen.

Angenommen, eines der Trennzeichen ist das Zeilenumbruchzeichen, zeigt das folgende Codefragment, wie Text aus einem Stringstream (split) gelesen wird es in Zeilen und unterteilen Sie jede Zeile basierend auf festgelegten Trennzeichen weiter.

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));
}

In diesem Code wird die Zeilenzeichenfolge gelesen und anschließend verarbeitet. Die Funktion find_first_of wird verwendet, um nach dem ersten Vorkommen eines beliebigen Zeichens in der angegebenen Trennzeichenfolge zu suchen (in diesem Fall „';“). Wörter zwischen Trennzeichen werden extrahiert und diejenigen am Anfang oder Ende der Zeile werden ebenfalls erfasst. Die Token werden dann dem WordVector hinzugefügt.

Das obige ist der detaillierte Inhalt vonWie teile ich Strings mit mehreren Trennzeichen in C auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn