Verwenden Sie C#, um durch Kommas getrennte Zeichenfolgen außerhalb von Anführungszeichen zu teilen
Bei Parameterzeichenfolgen, die eingebettete Kommas außerhalb von Anführungszeichen enthalten, können Sie reguläre Ausdrucksmethoden verwenden, um sie genau aufzuteilen.
Frage:
Teilen Sie die Zeichenfolge „(‘ABCDEFG‘, 123542, ‚XYZ 99,9‘)“ in ihre Bestandteile auf, wobei das letzte Argument ein Komma in Anführungszeichen enthält.
Lösung:
Verwenden Sie reguläre Ausdrücke, um Kommas außerhalb von Anführungszeichen zu identifizieren, um die gewünschte Aufteilung zu erreichen:
<code class="language-c#">",(?=(?:[^']*'[^']*')*[^']*$)"</code>
Dieses Regex-Muster entspricht jedem Komma, das nicht vor oder nach einer ungeraden Anzahl von Anführungszeichen steht.
Umsetzung:
Der folgende Code verwendet reguläre Ausdrücke, um eine Beispielzeichenfolge zu teilen:
<code class="language-c#">string samplestring = "('ABCDEFG', 123542, 'XYZ 99,9')"; string[] result = Regex.Split(samplestring, ",(?=(?:[^']*'[^']*')*[^']*$)");</code>
Ausgabe:
Das resultierende Array enthält die einzelnen Komponenten:
<code>['ABCDEFG', '123542', 'XYZ 99,9']</code>
Das obige ist der detaillierte Inhalt vonWie teile ich durch Kommas getrennte Zeichenfolgen mit eingebetteten Kommas in Anführungszeichen in C#?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!