Heim >Backend-Entwicklung >C++ >Wie kann C# Regex die Zeichenfolgenaufteilung mit Kommas als Trennzeichen lösen, außer in Anführungszeichen?
String-Splitting in C# mit komplexen Mustern unter Verwendung regulärer Ausdrücke beherrschen
Dieser Artikel befasst sich mit einer häufigen Programmierherausforderung: dem Teilen einer Zeichenfolge mithilfe von Kommas als Trennzeichen, jedoch nur, wenn diese Kommas nicht in Anführungszeichen eingeschlossen sind. Standardmethoden zur Zeichenfolgenaufteilung reichen bei der Verarbeitung solch unregelmäßiger Datenstrukturen nicht aus.
Die Regex-Lösung
Die Lösung liegt in der Leistungsfähigkeit regulärer Ausdrücke. Das folgende Regex-Muster identifiziert und isoliert effektiv Kommas außerhalb von zitierten Abschnitten:
<code class="language-csharp">",(?=(?:[^']*'[^']*')*[^']*$)"</code>
Dieses Muster sucht geschickt nach Kommas, gefolgt von einer geraden Anzahl einfacher Anführungszeichen in der verbleibenden Zeichenfolge. Dadurch wird sichergestellt, dass Kommas innerhalb zitierter Abschnitte ignoriert werden.
Die Anwendung dieses Musters zum Teilen der Zeichenfolge ist unkompliziert:
<code class="language-csharp">var result = Regex.Split(inputString, ",(?=(?:[^']*'[^']*')*[^']*$)");</code>
Das result
-Array enthält dann genau die gewünschten Elemente:
Zusammenfassung
Reguläre Ausdrücke bieten eine robuste und flexible Lösung für String-Manipulationsaufgaben mit komplexen Mustern. Diese Methode bietet eine präzise Steuerung und ermöglicht eine genaue Aufteilung und Extraktion von Elementen selbst aus den unkonventionellsten Zeichenfolgenformaten. Diese Technik ist für den Umgang mit Daten mit unregelmäßigen Trennzeichen von unschätzbarem Wert.
Das obige ist der detaillierte Inhalt vonWie kann C# Regex die Zeichenfolgenaufteilung mit Kommas als Trennzeichen lösen, außer in Anführungszeichen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!