C# 正規表現文字列分割: 引用符の外側のカンマ
従来のカンマベースの分割方法を使用すると、カンマが埋め込まれた文字列の処理が困難になる場合があります。この記事では、C# と正規表現を使用して、引用符で囲まれたカンマを含む文字列を分割する解決策を示します。
問題ステートメント:
SQL コード スニペットを表す次の文字列について考えてみましょう:
<code>('ABCDEFG', 123542, 'XYZ 99,9')</code>
目標は、この文字列を 3 つの異なる部分に分割することです:
3 番目のパラメータのカンマ (「XYZ 99,9」) は区切り文字とみなされるべきではないため、この問題が発生します。
正規表現ソリューション:
この問題を解決するには、偶数個の一重引用符が前にある場合にのみコンマと一致する正規表現を使用できます。このモードでは、引用符内のカンマが分割されません。
<code>",(?=(?:[^']*'[^']*')*[^']*$)"</code>
使用法:
<code class="language-csharp">var result = Regex.Split(sampleString, ",(?=(?:[^']*'[^']*')*[^']*$)");</code>
説明:
出力:
結果配列の出力は次のとおりです:
<code>{"'ABCDEFG'", "123542", "'XYZ 99,9'"}</code>
これは、引用符で囲まれた引数をそのまま維持しながら、引用符の外側のカンマに基づいて文字列を正常に分割することを示しています。
以上がC# 正規表現で引用符内のカンマを使用して文字列を分割するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。