Heim >Backend-Entwicklung >C++ >Wie kann ich Teile eines Strings in C ersetzen?

Wie kann ich Teile eines Strings in C ersetzen?

DDD
DDDOriginal
2024-12-22 18:08:11706Durchsuche

How Can I Replace Parts of a String in C  ?

Ersetzen eines String-Segments durch einen neuen String

In C erfordert das Ersetzen eines Teils eines Strings durch einen anderen String eine Kombination von Operationen. Während einige Bibliotheken eine dedizierte Funktion „replace()“ für direkte Ersetzungen anbieten, erfahren Sie hier, wie Sie dies mit Standard-C-Funktionen angehen können:

Verwenden der Funktionen „find()“ und „replace()“

Die Funktion find() lokalisiert die Position eines Teilstrings innerhalb eines Strings. Durch die Kombination mit der Funktion „replace()“, die einen angegebenen Bereich durch eine andere Zeichenfolge ersetzt, können Sie effektiv einen Teil der Zeichenfolge ersetzen:

bool replace(std::string& str, const std::string& from, const std::string& to) {
    size_t start_pos = str.find(from);
    if(start_pos == std::string::npos)
        return false;
    str.replace(start_pos, from.length(), to);
    return true;
}

std::string string("hello $name");
replace(string, "$name", "Somename");

Dieser Ansatz ersetzt das erste Vorkommen der Teilzeichenfolge „$name " durch „Somename“.

Alle Vorkommen durch replaceAll ersetzen

Um alle Vorkommen von zu ersetzen B. einen Teilstring, können Sie die Methode replace() erweitern, um nach mehreren Instanzen innerhalb des Strings zu suchen und diese zu ersetzen:

void replaceAll(std::string& str, const std::string& from, const std::string& to) {
    if(from.empty())
        return;
    size_t start_pos = 0;
    while((start_pos = str.find(from, start_pos)) != std::string::npos) {
        str.replace(start_pos, from.length(), to);
        start_pos += to.length(); // Adjust start position if 'to' contains 'from'
    }
}

Diese Funktion führt eine sukzessive Ersetzung aller Vorkommen des Teilstrings „from“ durch den String „ durch. bis" innerhalb der angegebenen Zeichenfolge.

Das obige ist der detaillierte Inhalt vonWie kann ich Teile eines Strings in C ersetzen?. 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