Heim >Backend-Entwicklung >C++ >Wie kann ich Teile eines Strings in C ersetzen?
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!