Heim > Backend-Entwicklung > C++ > Wie können Sie Zeichenfolgen mit mehreren Trennzeichen in C aufteilen?

Wie können Sie Zeichenfolgen mit mehreren Trennzeichen in C aufteilen?

DDD
Freigeben: 2024-11-16 15:58:03
Original
177 Leute haben es durchsucht

How Can You Split Strings with Multiple Delimiters in C  ?

Zeichenfolgen mit mehreren Trennzeichen aufteilen

Bei der Aufgabe, Text in sinnvolle Einheiten zu unterteilen, stehen Entwickler häufig vor der Notwendigkeit, eine Zeichenfolge in Wörter zu unterteilen. Während herkömmliche Methoden für einzelne Trennzeichen ausreichen, welche Optionen stehen zur Verfügung, wenn mehrere Trennzeichen beteiligt sind?

Um dieser Herausforderung zu begegnen, kann eine Technik implementiert werden, die mehrere Trennzeichen für die Zeichenfolgenaufteilung verwendet. Schauen wir uns die Lösung genauer an.

In C lautet die Syntax zum Parsen einer Zeichenfolge mit einem einzelnen Trennzeichen mithilfe eines Zeichenfolgenstroms wie folgt:

std::stringstream stringStream(inputString);
std::string word;
while(std::getline(stringStream, word, delimiter)) 
{
    wordVector.push_back(word);
}
Nach dem Login kopieren

Um mehrere Trennzeichen zu berücksichtigen, lesen wir zuerst die gesamte Zeile in einen Puffer. Anschließend iterieren wir über die Linie und identifizieren Positionen, an denen eines der angegebenen Trennzeichen erscheint. Indem wir die vorherige Position von der aktuellen Position des Trennzeichens subtrahieren, erhalten wir die Teilzeichenfolge, die das Wort darstellt, und fügen sie dem Wortvektor hinzu.

Wenn wir beispielsweise Leerzeichen, Apostroph und Semikolon als Trennzeichen wählen, wird das Der folgende Code erledigt die Aufgabe:

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));
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie können Sie Zeichenfolgen mit mehreren Trennzeichen in C aufteilen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage