Heim > Backend-Entwicklung > C++ > Wie kann ich eine Zeichenfolge in C# aufteilen und dabei die Trennzeichen beibehalten?

Wie kann ich eine Zeichenfolge in C# aufteilen und dabei die Trennzeichen beibehalten?

Barbara Streisand
Freigeben: 2025-01-08 10:26:41
Original
563 Leute haben es durchsucht

How Can I Split a String in C# While Keeping the Delimiters?

Trennzeichen beim Teilen von Zeichenfolgen in C# beibehalten

Oft müssen Sie eine Zeichenfolge mithilfe bestimmter Trennzeichen aufteilen, diese Trennzeichen möchten Sie aber auch im resultierenden Array beibehalten. Dieser Artikel demonstriert eine zuverlässige Methode in C# unter Verwendung regulärer Ausdrücke.

Die Lösung: Reguläre Ausdrücke

Die Regex.Split-Methode von C# bietet in Kombination mit einem clever gestalteten regulären Ausdruck die Lösung. Der Schlüssel liegt in der Verwendung positiver Lookbehind-Behauptungen. Ein positiver Lookbehind stellt sicher, dass ein Muster vor der aktuellen Position vorhanden ist, ohne dieses Muster in die Übereinstimmung selbst einzubeziehen.

Muster für reguläre Ausdrücke:

Dieses Muster findet Trennzeichen (in diesem Beispiel Kommas, Punkte und Semikolons) und stellt gleichzeitig sicher, dass sie in der Ausgabe verbleiben:

<code class="language-csharp">(?<=(?:[,.;]))</code>
Nach dem Login kopieren
  • (?<=...): Dies ist eine positive Look-behind-Behauptung.
  • (?:[,.;]): Dies ist eine nicht erfassende Gruppe, die einem Komma, einem Punkt oder einem Semikolon entspricht.

Codebeispiel:

Lassen Sie uns mit Code veranschaulichen:

<code class="language-csharp">using System.Text.RegularExpressions;

// ... other code ...

string originalString = "This,is,a,comma,separated,string.";

string[] parts = Regex.Split(originalString, @"(?<=(?:[,.;]))");

// parts array will contain:
// ["This",",","is",",","a",",","comma",",","separated",",","string","."] </code>
Nach dem Login kopieren

Der reguläre Ausdruck teilt die Zeichenfolge an den Punkten unmittelbar nach jedem Trennzeichen. Da das Trennzeichen selbst nicht in der Übereinstimmung enthalten ist, bleibt es im resultierenden Array erhalten.

Ausgabe:

Die Ausgabe zeigt, dass die ursprüngliche Zeichenfolge geteilt ist und jedes Trennzeichen als separates Element im resultierenden Array enthalten ist. Der positive Lookbehind stellt sicher, dass Trennzeichen Teil der Aufteilung sind, ohne in die Zeichenfolgensegmente absorbiert zu werden.

Das obige ist der detaillierte Inhalt vonWie kann ich eine Zeichenfolge in C# aufteilen und dabei die Trennzeichen beibehalten?. 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