Entfernen bestimmter Zeichen aus einer Zeichenfolge in C
In Programmierszenarien, in denen Benutzereingaben möglicherweise unerwünschte Zeichen enthalten, die entfernt werden müssen, wie z Beim Sammeln einer Telefonnummer stellt sich die Frage: Wie können wir diese Zeichen effektiv aus einer Zeichenfolge in C entfernen?
Die eingebauten Zeichenfolgenfunktionen B. „Entfernen“, „Suchen“ und „Ersetzen“, sind zwar in bestimmten Situationen nützlich, bieten jedoch möglicherweise nicht die gewünschte Funktionalität, wenn es darum geht, bestimmte Zeichen basierend auf ihrem Inhalt aus einer Zeichenfolge zu entfernen.
Die Lösung liegt in der Verwendung von std::remove-Funktion aus der
Um dies auf unser Beispiel des Entfernens von Klammern anzuwenden , Bindestriche und Leerzeichen aus einer Telefonnummerneingabe können wir ein Zeichenarray definieren, das diese Zeichen enthält:
char[] chars = "() -";
Wir durchlaufen jedes Zeichen im Array und wenden es an std::remove zur Telefonnummernzeichenfolge:
for (unsigned int i = 0; i < strlen(chars); ++i) { str.erase(std::remove(str.begin(), str.end(), chars[i]), str.end()); }
Dadurch werden effektiv alle Vorkommen der angegebenen Zeichen aus der Zeichenfolge entfernt, wodurch effektiv die gewünschte Ausgabe bereitgestellt wird.
Um die Lösung weiter zu verbessern, kann die Funktionalität in eine wiederverwendbare Funktion gekapselt werden:
void removeCharsFromString(string &str, char* charsToRemove) { for (unsigned int i = 0; i < strlen(charsToRemove); ++i) { str.erase(remove(str.begin(), str.end(), charsToRemove[i]), str.end()); } }
Jetzt können wir sie einfach aufrufen Mit dieser Funktion können Sie unerwünschte Zeichen aus beliebigen Zeichenfolgen entfernen. Um beispielsweise Klammern aus einer Telefonnummer zu entfernen:
removeCharsFromString(phone, "()");
Durch die Verwendung von std::remove und die Implementierung in einer wiederverwendbaren Funktion haben wir eine effiziente Lösung zum Entfernen bestimmter Zeichen aus einer Zeichenfolge in C Datenverarbeitung und -manipulation bequemer.
Das obige ist der detaillierte Inhalt vonWie entferne ich bestimmte Zeichen aus einer Zeichenfolge in C?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!