Übung: Verwenden der Remove()- und Replace()-Methoden
- 8 Minuten
In dieser Übung entfernen Sie Zeichen aus einer Zeichenfolge mithilfe der Remove() Methode und ersetzen Zeichen mithilfe der Replace() Methode.
Manchmal müssen Sie den Inhalt einer Zeichenfolge ändern, Zeichen entfernen oder ersetzen. Sie können hierzu zwar die Ihnen bekannten Tools verwenden, aber dies erfordert ein gewisses Maß an Zwischenspeicherung und das erneute Zusammenfügen von Zeichenfolgen. Glücklicherweise verfügt der string Datentyp über andere integrierte Methoden Remove() und Replace()für diese speziellen Szenarien.
Verwenden der Remove() Methode
Sie würden in der Regel verwenden Remove() , wenn es eine Standard- und konsistente Position der Zeichen gibt, die Sie aus der Zeichenfolge entfernen möchten.
Diese Übung enthält Daten, die in älteren Dateien mit fester Länge gespeichert sind, und mit Zeichenpositionen, die bestimmten Informationsfeldern zugeordnet sind. Die ersten fünf Ziffern stellen eine Kundenidentifikationsnummer dar. Die nächsten 20 Ziffern enthalten den Namen eines Kunden. Die nächsten sechs Positionen stellen den letzten Rechnungsbetrag des Kunden dar, und die letzten drei Positionen stellen die Anzahl der bestellten Artikel auf dieser Rechnung dar.
In den folgenden Schritten müssen Sie den Namen des Kunden entfernen, um die Daten zu formatieren, damit sie an einen separaten Prozess gesendet werden können. Da Sie die genaue Position und Länge des Benutzernamens kennen, können Sie sie ganz einfach mithilfe der Remove() Methode entfernen.
Entfernen von Zeichen an bestimmten Stellen aus einer Zeichenfolge
Löschen oder verwenden Sie den Operator für Zeilenkommentare
//, um den gesamten Code aus den vorherigen Übungen auszukommentieren.Aktualisieren Sie Ihren Code im Visual Studio Code-Editor wie folgt:
string data = "12345John Smith 5000 3 "; string updatedData = data.Remove(5, 20); Console.WriteLine(updatedData);Wählen Sie im Menü "Visual Studio Code-Datei " die Option "Speichern" aus.
Die Datei „Program.cs“ muss vor dem Erstellen oder Ausführen des Codes gespeichert werden.
Klicken Sie im EXPLORER-Bereich auf "TestProject", um ein Terminal am Speicherort des TestProject-Ordners zu öffnen, klicken Sie mit der rechten Maustaste auf "TestProject", und wählen Sie dann "In integriertem Terminal öffnen" aus.
Es sollte sich ein Terminalbereich mit einer Eingabeaufforderung öffnen, die anzeigt, dass das Terminal für den Speicherort Ihres TestProject-Ordners geöffnet ist.
Geben Sie an der Terminal-Eingabeaufforderung dotnet run ein und drücken Sie dann die EINGABETASTE, um Ihren Code auszuführen.
Die folgende Ausgabe sollte angezeigt werden:
123455000 3Die
Remove()Methode funktioniert ähnlich wie dieSubstring()Methode. Sie geben eine Startposition und die Länge an, um diese Zeichen aus der Zeichenfolge zu entfernen.
Verwenden der Replace() Methode
Die Replace() Methode wird verwendet, wenn Sie ein oder mehrere Zeichen durch ein anderes Zeichen (oder kein Zeichen) ersetzen müssen. Die Replace() Methode unterscheidet sich von den bisher verwendeten Methoden, ersetzt jede Instanz der angegebenen Zeichen, nicht nur die erste oder letzte Instanz.
Entfernen von Zeichen, unabhängig davon, wo sie in einer Zeichenfolge angezeigt werden
Aktualisieren Sie Ihren Code im Visual Studio Code-Editor wie folgt:
string message = "This--is--ex-amp-le--da-ta"; message = message.Replace("--", " "); message = message.Replace("-", ""); Console.WriteLine(message);Speichern Sie Ihre Codedatei, und führen Sie Ihren Code dann mit Visual Studio Code aus.
Die folgende Ausgabe sollte angezeigt werden:
This is example dataHier haben Sie die
Replace()Methode zweimal verwendet. Wenn Sie die Zeichenfolge--zum ersten Mal durch ein Leerzeichen ersetzt haben. Das zweite Mal, wenn Sie die Zeichenfolge-durch eine leere Zeichenfolge ersetzt haben, wodurch das Zeichen vollständig aus der Zeichenfolge entfernt wird.
Rekapitulation
Hierbei sind zwei wichtige Punkte zu beachten:
- Die
Remove()Methode funktioniert wie dieSubstring()Methode, mit der Ausnahme, dass sie die angegebenen Zeichen in der Zeichenfolge löscht. - Mit der
Replace()Methode werden alle Instanzen einer Zeichenfolge mit einer neuen Zeichenfolge ausgetauscht.