ホームページ > バックエンド開発 > C++ > 正規表現を使用して C# で文字列を分割し、引用符内のカンマを処理する方法

正規表現を使用して C# で文字列を分割し、引用符内のカンマを処理する方法

Mary-Kate Olsen
リリース: 2025-01-07 22:11:41
オリジナル
611 人が閲覧しました

"How

C# で正規表現を使用して文字列を分割する: 引用符内のカンマを処理する

データ解析や SQL 文字列操作などのさまざまなシナリオでは、カンマを含む文字列を正規表現を使用して分割する必要がある場合があります。ただし、カンマが引用符の内側と外側にある場合に問題が発生します。

次の文字列を考えてみましょう:

<code>('ABCDEFG', 123542, 'XYZ 99,9')</code>
ログイン後にコピー

私たちの目標は、正規表現を使用してこの文字列を構成部分に分割し、次の出力を取得することです:

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

重要なのは、引用符の外側にあるカンマを認識することです。これには、強力な正規表現パターン

を使用できます。
<code>",(?=(?:[^']*'[^']*')*[^']*$)"</code>
ログイン後にコピー

このパターンを分析してみましょう:

  • ": リテラルのカンマと一致します。

  • (?=(?:[^']*'[^']*')*[^']*$): これは、コンマの後に偶数の引用符が続くかどうかをチェックする先読みアサーションです。

    • (?:[^']*'[^']*')*: 任意の数の一重引用符のペアと、その間にある内容を照合します。
    • [^']*$: 最後の引用符の後の任意の文字と一致しますが、引用符は含まれません。

このパターンを使用すると、偶数の引用符が後に続く任意のカンマと一致し、引用符の外側の文字列のみを効果的に分割することができます。

分割にこの正規表現を使用するには、次の C# コードを使用します:

<code class="language-csharp">var result = Regex.Split(samplestring, ",(?=(?:[^']*'[^']*')*[^']*$)");</code>
ログイン後にコピー

このコードを実行すると、result には文字列の配列が含まれます。各文字列は元の文字列のコンポーネントを表し、必要な条件に従って分割されます。

以上が正規表現を使用して C# で文字列を分割し、引用符内のカンマを処理する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート