Heim > Backend-Entwicklung > C++ > Wie teile ich eine Zeichenfolge in C# mithilfe von Regex auf, um Kommas in Anführungszeichen zu verarbeiten?

Wie teile ich eine Zeichenfolge in C# mithilfe von Regex auf, um Kommas in Anführungszeichen zu verarbeiten?

Mary-Kate Olsen
Freigeben: 2025-01-07 22:11:41
Original
611 Leute haben es durchsucht

"How

Reguläre Ausdrücke verwenden, um Zeichenfolgen in C# zu teilen: Kommas in Anführungszeichen verarbeiten

In verschiedenen Szenarien wie Datenanalyse oder SQL-String-Operationen müssen Strings, die Kommas enthalten, möglicherweise mithilfe regulärer Ausdrücke aufgeteilt werden. Allerdings ergeben sich Herausforderungen, wenn Kommas innerhalb und außerhalb von Anführungszeichen stehen.

Betrachten wir die folgende Zeichenfolge:

<code>('ABCDEFG', 123542, 'XYZ 99,9')</code>
Nach dem Login kopieren

Unser Ziel ist es, diese Zeichenfolge mithilfe regulärer Ausdrücke in ihre Bestandteile zu zerlegen, um die folgende Ausgabe zu erhalten:

  • 'ABCDEFG'
  • 123542
  • 'XYZ 99,9'

Der Schlüssel liegt darin, Kommas außerhalb von Anführungszeichen zu erkennen. Hierfür können wir das leistungsstarke Muster für reguläre Ausdrücke verwenden:

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

Lassen Sie uns dieses Muster aufschlüsseln:

  • ": Entspricht einem wörtlichen Komma.

  • (?=(?:[^']*'[^']*')*[^']*$): Dies ist eine Lookahead-Behauptung, die prüft, ob auf ein Komma eine gerade Anzahl von Anführungszeichen folgt.

    • (?:[^']*'[^']*')*: Gleicht eine beliebige Anzahl von Paaren einfacher Anführungszeichen mit dem Inhalt dazwischen ab.
    • [^']*$: Entspricht jedem Zeichen nach dem letzten Anführungszeichen, jedoch nicht einschließlich des Anführungszeichens.

Durch die Verwendung dieses Musters können wir jedes Komma finden, dem eine gerade Anzahl von Anführungszeichen folgt, und so effektiv sicherstellen, dass wir die Zeichenfolge nur außerhalb der Anführungszeichen teilen.

Um diesen regulären Ausdruck zum Teilen zu verwenden, verwenden wir den folgenden C#-Code:

<code class="language-csharp">var result = Regex.Split(samplestring, ",(?=(?:[^']*'[^']*')*[^']*$)");</code>
Nach dem Login kopieren

Nach der Ausführung dieses Codes enthält result ein Array von Zeichenfolgen, wobei jede Zeichenfolge eine Komponente der ursprünglichen Zeichenfolge darstellt und entsprechend den gewünschten Bedingungen aufgeteilt wird.

Das obige ist der detaillierte Inhalt vonWie teile ich eine Zeichenfolge in C# mithilfe von Regex auf, um Kommas in Anführungszeichen zu verarbeiten?. 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