Heim > Backend-Entwicklung > C++ > Wie entferne ich bestimmte Zeichen aus Zeichenfolgen in C?

Wie entferne ich bestimmte Zeichen aus Zeichenfolgen in C?

Patricia Arquette
Freigeben: 2024-11-11 05:50:02
Original
479 Leute haben es durchsucht

How to Remove Specific Characters from Strings in C  ?

Bestimmte Zeichen aus Zeichenfolgen in C entfernen

Viele Anwendungen erfordern die Manipulation von Benutzereingaben, und das Entfernen unerwünschter Zeichen aus Zeichenfolgen ist eine häufige Aufgabe. In diesem Artikel wird erläutert, wie Sie diese Aufgabe in C effizient lösen können.

Problemstellung:

Stellen Sie sich ein Szenario vor, in dem ein Benutzer eine Telefonnummer eingibt:

cout << "Enter phone number: ";
string phone;
cin >> phone;
Nach dem Login kopieren

Die Roheingabe kann zusätzliche Zeichen wie Klammern und Bindestriche enthalten: „(555) 555-5555“. Das Ziel besteht darin, diese Zeichen zu entfernen, um eine saubere numerische Zeichenfolge zu erhalten.

Lösung:

Die C-Standardbibliothek bietet eine praktische Methode, um dies zu erreichen. Der std::remove-Algorithmus durchläuft eine Zeichenfolge und entfernt Instanzen eines angegebenen Zeichens. Die ursprüngliche Zeichenfolge wird jedoch nicht direkt geändert.

string str("(555) 555-5555");

char charsToRemove[] = "()-";  // Characters to be removed

for (unsigned int i = 0; i < strlen(charsToRemove); ++i) {
  str.erase(std::remove(str.begin(), str.end(), charsToRemove[i]), str.end());
}

// Output: 555 5555555
cout << str << endl;
Nach dem Login kopieren

Funktionsbasierter Ansatz:

Zur Vereinfachung der Verwendung können Sie eine Funktion definieren, die Folgendes übernimmt eine Zeichenfolge und ein Zeichenarray als Eingaben und führt die Zeichenentfernung durch:

void removeCharsFromString(string &amp;str, char* charsToRemove) {
  for (unsigned int i = 0; i < strlen(charsToRemove); ++i) {
    str.erase(std::remove(str.begin(), str.end(), charsToRemove[i]), str.end());
  }
}
Nach dem Login kopieren

Diese Funktion kann dann mit den gewünschten Zeichenfolgen aufgerufen werden, um bestimmte Zeichen zu entfernen. Zum Beispiel:

string phone = "(555) 555-5555";
removeCharsFromString(phone, "()-" );
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie entferne ich bestimmte Zeichen aus Zeichenfolgen in C?. 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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage