Heim > Backend-Entwicklung > C++ > Wie kann ich eine durch Kommas getrennte Zeichenfolge in C# aufteilen und dabei Kommas in Anführungszeichen ignorieren?

Wie kann ich eine durch Kommas getrennte Zeichenfolge in C# aufteilen und dabei Kommas in Anführungszeichen ignorieren?

Linda Hamilton
Freigeben: 2025-01-07 21:29:41
Original
888 Leute haben es durchsucht

How Can I Split a Comma-Separated String in C# While Ignoring Commas Within Quotes?

C#-Aufteilung regulärer Ausdrücke: Umgang mit Kommas in Zeichenfolgen in Anführungszeichen

Die standardmäßige kommabasierte Zeichenfolgenaufteilung in C# schlägt fehl, wenn Kommas in zitiertem Text verwendet werden. Reguläre Ausdrücke bieten eine robuste Lösung.

Erwägen Sie, die Zeichenfolge „('ABCDEFG', 123542, 'XYZ 99,9')“ in ihre drei Bestandteile aufzuteilen: 'ABCDEFG', 123542 und 'XYZ 99,9'.

Der folgende reguläre Ausdruck identifiziert Kommas außerhalb zitierter Abschnitte:

<code class="language-csharp">",(?=(?:[^']*'[^']*')*[^']*$)"</code>
Nach dem Login kopieren

Dieser Ausdruck stellt sicher, dass nur Kommas, denen keine gerade Anzahl einfacher Anführungszeichen vorangestellt ist (was auf einen geschlossenen Abschnitt in Anführungszeichen hinweist), als Trennpunkte verwendet werden.

So verwenden Sie es mit Regex.Split:

<code class="language-csharp">string inputString = "('ABCDEFG', 123542, 'XYZ 99,9')";
string[] splitString = Regex.Split(inputString, ",(?=(?:[^']*'[^']*')*[^']*$)");</code>
Nach dem Login kopieren

Das splitString-Array enthält dann:

  • splitString[0] = 'ABCDEFG'
  • splitString[1] = 123542
  • splitString[2] = 'XYZ 99,9'

Dieser Ansatz für reguläre Ausdrücke teilt Zeichenfolgen präzise auf und bewahrt die Datenintegrität, selbst wenn Kommas in Teilzeichenfolgen in Anführungszeichen vorkommen.

Das obige ist der detaillierte Inhalt vonWie kann ich eine durch Kommas getrennte Zeichenfolge in C# aufteilen und dabei Kommas in Anführungszeichen ignorieren?. 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